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

67up9zun  于 2023-09-29  发布在  Android
关注(0)|答案(2)|浏览(153)

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

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>

我看到一些决议,我需要卸载应用程序,但我想只是建立和启动的应用程序通常这样做。

dy1byipe

dy1byipe1#

您还没有完全限定组件,因此它不知道在哪里可以找到它。您需要为Activity提供包名,如下所示:

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

注意:我使用了“my.package.name“作为软件包。您需要将其替换为应用程序的包名称,因为它在清单中。还要注意SplashScreenActivity之前的“/”(斜杠)字符之后的“.”(句点,点)字符。

jhkqcmku

jhkqcmku2#

我有同样的问题时,试图创建一个功能,以改变图标启动器。已通过使缓存无效,然后重构导致问题的活动来解决此问题。在此更改后,应用程序安装成功。

相关问题