Android 错误类型3错误:活动类{}不存在
我有一个IntelliJ Android项目,我成功地将其导入到Android Studio 0.4.0。如果我不更改清单中的任何内容,它将非常有效。但是,当我想要更改启动器活动并运行时,它会失败,并出现以下错误:Android 错误类型3错误:活动类{}不存在,android,android-studio,android-manifest,Android,Android Studio,Android Manifest,我有一个IntelliJ Android项目,我成功地将其导入到Android Studio 0.4.0。如果我不更改清单中的任何内容,它将非常有效。但是,当我想要更改启动器活动并运行时,它会失败,并出现以下错误: Launching application: com.trackingeng/LandingActivity. DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity" -a androi
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.
当我单击“将项目与渐变文件同步”时,它会输出:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
运行设置:
重构后,我遇到了类似的问题。
这就是我为解决此问题所做的:
Build
目录我认为关键是重新启动IDE 希望这对你或其他人有帮助 编辑1:
如果上述步骤对您不起作用,那么删除Gradle缓存似乎是一个解决方案,正如@Yasitha所指出的 编辑2
正如一些用户在下面的评论中所建议的,有时可以通过从您的设备上完全删除并重新安装应用程序来解决问题。
只需在终端中键入
adb uninstall
,即可从设备中完全删除应用程序
编辑3如中所述,如果在您的设备上设置了多个用户,还应尝试从设备中删除应用程序。
只需转到
Mobile Settings>Apps>[您的应用]>更多>卸载所有用户的应用
Android Studio 2.1及以上版本的更新
在运行Android Studio 2.1及更高版本时,如果在首选项中启用了“即时运行”选项(默认情况下已启用),也会遇到此问题
要禁用此选项,请转到Android Studio
顶部菜单中的首选项
选项,并查找即时运行
,以便取消选中该屏幕上的第一个复选框
不管怎么说,这帮我解决了。最初由用户@yusufonder指出。我发现这是问题所在,因为gradle安装仍然有效。尝试更改AndroidManifest.xml
文件中活动的名称。
现在它说:
<activity android:name="LandingActivity" >
尝试在活动名称的开头添加句点:
<activity android:name=".LandingActivity" >
<activity android:name="com.trackingeng.LandingActivity" >
或将程序包名称添加到活动名称的开头:
<activity android:name=".LandingActivity" >
<activity android:name="com.trackingeng.LandingActivity" >
您的包名只有两个由句点分隔的组件(您的包名为“com.trackingeng”;更标准的包名为“com.trackingeng.app”)重命名/重构后,我遇到了相同的错误。我所做的是将
applicationId
属性添加到build.gradle文件中,并将其值设置为应用程序包
在build.gradle中:
android {
defaultConfig {
applicationId "com.example.myapp"
}
}
当您执行以下操作时,就会发生这种情况
- 连接您的设备/模拟器
- 从Android Studio(AS)运行应用程序
- 使用/测试应用程序,并在其仍处于运行状态时将其从设备中卸载 已连接到您的计算机
- 尝试从作为重新运行应用程序
tl;dr-要解决此问题,您只需在卸载应用程序后断开设备并重新连接即可。我也遇到了同样的问题,我通过重构我的活动启动器解决了它,只需更改类名,它就可以工作。即使我也遇到了同样的问题,但上述解决方案都不适用于我。
Instant Run disable
Build -> Clean Project
File -> Invalidate Caches / Restart
问题是,我冻结了我试图通过Tianium Backup运行的特定应用程序,因此我出现了上述错误。我在Eclipse和Android Studio中都试过了
意识到这一点后,我只是取消安装应用程序,然后再次运行它
问题解决:-)对我来说,问题是
AndroidStudio
认为应用程序仍在设备上
要解决此问题,请执行以下操作:
adb
守护进程;在终端或命令提示下,输入:
adb kill-server
adb start-server
确保Android SDK的
平台工具
已添加到您的系统路径变量中 可能对某人有帮助:--
有时在设备上测试时,应用程序无法正确卸载。要验证并修复此问题,请执行以下操作:
通过设备卸载应用程序时,我会遇到这个问题(即将应用程序拖到“卸载”选项)。但以下是卸载的正确方法: 使用
/gradlew uninstall
命令。这将防止出现错误:活动类{HomeActivity}不存在。
错误
更新:
如果您懒惰,可以使用此任务的缩写:/gradlew uA
或者在
.bash_profile
中为常见的gradle任务定义别名,这样做可以节省时间和打字,而且您不必记住每个命令,也不必担心打字错误。我建议这样做。我想与大家分享一下对我有帮助的诀窍。我从设备上卸载了该应用程序,而clean/rebuild/Android Studio重启操作没有任何帮助
由于Android Studio认为应用程序仍然安装在设备上,并且没有部署,因此可以使用ADB强制安装:
adb install -r <your_application_from.apk>
adb安装-r
其中
-r
意味着重新安装应用程序,保留其数据。我也面临同样的问题
adb uninstall PACKAGE_NAME
adb uninstall <package_name>