活动类不存在

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

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. 

这是我的清单:

 <?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> 

而奇怪的是,亚行向我表明,ActivityManager开始意图就好了…

Solutions Collecting From Web of "活动类不存在"

问题在于你的项目的构build/运行configuration。 您必须在“常规”选项卡下的“运行/debuggingconfiguration”屏幕中检查“部署应用程序”checkbox。

这解决了我的问题。

检查设备上是否安装了另一个具有相同软件包ID的应用程序: https : //stackoverflow.com/a/22524188/540639

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

在检查了他们在post中提到的所有其他信息之后,请检查IDEA:运行 – >编辑configuration – > Android应用程序 – >启动应用程序启动时要启动的活动应该在那里…

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

  1. 如果您尚未使用LogCat窗口,则可以获取有关该控件优惠的更多精确信息。

  2. 如果你还没有,检查你的布局XML文件,以防你有一个自定义的对象,而你正在使用错误的path的资源。

  3. 如果你还没有,或者你必须解决上述问题,请尝试清理你的项目,然后再次build设。

我已经尝试了我发现的每个build议,但无法解决问题。 之后,我自己想出了这个问题:我的问题是,我重命名了包。 为了确保你没有得到上面的错误,添加

  defaultConfig { applicationId "com.yourpackage.yourapplication" } 

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

重build应用程序并运行它。

这解决了我的问题。

我在清单中find了一个额外的<application> </application>标签,我不知道它是如何到达那里的,但是删除它就解决了我的问题。

我一直在intellij中得到这个。

它看起来像你缺less的行,说明你的默认包是如Com.foo。 你的清单存在错误…尝试创build一个新的空白testing项目,比较你所缺less的东西,因为它看起来太短了。

再次检查包和活动名称。 我得到了一个类似的错误,由于在活动名称前面缺less一个点(例如“package.Activity”而不是“.package.Activity”)。 IntelliJ并没有将其标记为错误,所以很容易被忽略。

类似于Joff的回答。 看来棒棒糖,当你试图卸载一个应用程序,它不会卸载所有用户(虽然我只有一个用户)。

我只是去设置中的应用程序部分,select应用程序,并使用菜单和“卸载所有用户”。

我有同样的问题,closuresGenymotion模拟器后,连接我的手机。 清理项目并重新运行也解决了我的问题。

我在这里报告了同样的问题。 我最近添加了第三个活动到我的应用程序,并没有启动相同的错误。 为了解决这个问题,我使用了一个在这里发布的细节。 另一位开发人员说,向他们的AndroidManifest.xml文件引入一个错误纠正了他们的问题。 我做了同样的:我添加了一个空间,导致编译错误,build立,得到了错误报告,纠正了错误,然后重新编译和部署,并工作。

希望它能解决你的问题。

一个解决scheme

只要创build一个新项目,并将旧项目中的类复制到新项目中,运行新项目,它可能会工作,为我工作。

在“运行”>“编辑configuration”下的Android Studio中,在“启动活动”框中检查包名是否正确。

那个盒子里的大写字母没有出现在包名中。

它发生在我身上,因为我forget将它添加到manifest file或拼写错误类名称

它就像删除的一样简单。 (点)在您的活动名称前面。 你的主要活动不应该被点缀。 名字前面的点意味着它是主要的孩子。