错误类型 3 - 错误:活动类不存在

问题描述 投票:0回答:2

我知道这是一个重复的问题,但我尝试的任何解决方案都没有解决问题。 真正的问题是,有没有办法在启用活动别名时启动应用程序?我的意思是,我的应用程序具有更改某些用户的图标启动器的功能,我想构建应用程序并在图标更改时启动它,因此启用了活动别名。

这是错误:

Error while executing: am start -n "SplashScreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=SplashScreenActivity }
Error type 3
Error: Activity class {SplashScreenActivity} does not exist.
Error while Launching activity
Failed to launch an application on all devices

这是我的清单:

    <activity
        android:name="SplashScreenActivity"
        android:configChanges="orientation|keyboardHidden"
        android:noHistory="true"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.Launcher">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity-alias
        android:name="SplashScreenActivityAlias"
        android:icon="@mipmap/ic_launcher_prime"
        android:label="@string/app_name_app"
        android:enabled="false"
        android:targetActivity="SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity-alias>

我看到一些解决方案,我需要卸载应用程序,但我想像应用程序通常那样构建和启动。

android android-activity android-manifest android-activity-alias
2个回答
0
投票

您还没有完全限定该组件,因此它不知道在哪里可以找到它。您需要提供您的

Activity
的包名称,如下所示:

am start -n "my.package.name/.SplashScreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

注意:我对包使用了“my.package.name”。您需要将其替换为应用程序的包名称,如清单中所示。还要注意“。” (句点、点)字符位于

SplashScreenActivity
之前的“/”(斜杠)字符之后。


0
投票

当尝试创建更改图标启动器的功能时,我遇到了同样的问题。通过使缓存无效并重构导致问题的活动解决了该问题。在此更改后,应用程序安装成功。

© www.soinside.com 2019 - 2024. All rights reserved.