活动类不存在

Lux*_*ode 28 android

Aaaargh!我不知道发生了什么,但突然间我无法启动我的应用程序.我正在使用IntelliJ,我不断收到此错误.我想也许在清单的某个地方有一个错字,但似乎没有.继承人的错误:

Launching application: com.foo.app/com.foo.app.main.
DEVICE SHELL COMMAND: am start -n "com.foo.app/com.foo.app.main"
Starting: Intent { cmp=com.foo.app/.main}
Error type 3
Error: Activity class {com.foo.app/com.foo.app.main} does not exist.
Run Code Online (Sandbox Code Playgroud)

这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.foo.app">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".main">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".NoBellsActivity"/>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

奇怪的是,ADB向我展示了ActivityManager正在启动意图......

Bot*_*acz 47

问题出在项目的构建/运行配置中.您必须在"常规"选项卡下的"运行/调试配置"屏幕中选中"部署应用程序"复选框.

这解决了我的问题.

  • 这可能是此错误的最常见原因,但不是唯一原因。 (2认同)

dek*_*eko 13

Check if you don't have another application with the same package id installed on device: https://stackoverflow.com/a/22524188/540639


小智 13

我有一个非常类似的错误.在我的情况下,应用程序没有完全从Android手机中删除.我只是使用ADB删除它,例如adb unsinstall com.your_app_name


小智 8

在检查了人们在帖子中说明的所有其他内容之后,请检查IDEA:运行 - >编辑配置 - > Android应用程序 - >启动您要在启动应用程序时启动的活动应该在那里...


And*_*ity 6

我已经尝试了我发现的每一个建议,但无法解决问题.在那之后我想出了自己:我的问题是我重命名了包.为确保您没有收到上述错误,请添加

  defaultConfig {

    applicationId "com.yourpackage.yourapplication"
  }
Run Code Online (Sandbox Code Playgroud)

到您的build.gradle文件.希望有所帮助.


SK9*_*SK9 5

我有一个相同症状的问题,并在我的情况下解决它.

  1. 如果您还没有,请使用LogCat窗口获取有关异常的更精确信息,而不是控制台提供的信息.

  2. 如果您还没有,请检查布局XML文件,以防您有自定义对象,并且您使用了错误的资源路径.

  3. 如果您还没有,或者您必须解决上述问题,请尝试清理项目,然后重新构建.


小智 5

重建应用程序并运行它。

这解决了我的问题。