我有一个IntelliJ Android项目,我成功地导入到Android Studio 0.4.0。如果我不改变清单中的任何内容,它就能完美运行。然而,当我想改变启动器的活动并运行时,却出现了这样的错误。
Launching application: com.trackingeng/LandingActivity.
DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity"
-a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Error type 3
Error: Activity class {com.trackingeng/LandingActivity} does not exist.
当我点击同步项目与Gradle文件时,它输出。
Project Sync
The project 'TrackingEng' is not a Gradle-based project
运行设置。 。
我在重构后也遇到了类似的问题。
这就是我为解决这个问题所做的。
1.清理了项目
2.删除了Build
目录
3.重新启动Android Studio
4.重新构建项目
5.运行
6.可以选择(进入安卓系统的文件菜单,点击"无效缓存/重启..."卸载手机上的应用程序,然后再试一次)。
一切都很顺利!
我认为关键是要重启你的IDE。
希望这对你或其他人有帮助!
编辑1: 如果上述步骤对你不起作用,那么删除Gradle缓存似乎是一个解决办法,正如@Yasitha所指出的。
编辑2
正如一些用户在下面的评论中所建议的那样,有时可以通过完全删除并从设备上重新安装该应用程序来解决这个问题。
只需在终端输入adb uninstall <package>
就可以从设备上完全删除应用程序。
编辑3
正如Abhishek's Answer中提到的,如果你的设备上设置了多个用户,也应该尝试从你的设备上删除该应用程序。
只需进入 "移动设置>;应用程序>;[你的应用程序]>;更多>;为所有用户卸载应用程序"。
针对Android Studio 2.1及以上版本的更新。
当运行Android Studio 2.1及以上版本时,当你在偏好设置中启用即时运行选项时,你也会遇到这个问题(默认为启用)。
要禁用这个选项,请进入 "Android Studio "顶部菜单的 "偏好 "选项,寻找 "即时运行",这样你就可以取消该屏幕上的第一个复选框。
![在Android Studio 2.1+中禁用即时运行][2] 。
无论如何,这对我来说是个问题。最初是由用户@yusufonder指出的。我发现这就是问题所在,因为gradle安装仍然有效。
AndroidManifest.xml
文件中的活动名称。现在,它说。
<activity android:name="LandingActivity" >
试着在活动名称的开头添加一个句号**。
<activity android:name=".LandingActivity" >
或者在活动名称的开头添加包的名称。
<activity android:name="com.trackingeng.LandingActivity" >
你的软件包名称只有两个由句号分隔的部分,这也可能是一个问题(你的软件包名称是"com.trackingeng";更标准的软件包名称应该是"com.trackingeng.app")。