Activity class {package/class} does not exist原因及解决方法
16lz
2021-01-26
前两天用Android Studio在测试机上编译运行一个project时,编译通过,运行时报错,报错提示主要信息为:
Activity class {.../MainActivity} does not exist.
顿时一脸懵逼,MainActivity明明存在啊,而且也在manifest中声明了,之后又检查了App module下build.gradle中的配置信息,
defaultConfig { applicationId "com.chan.example" minSdkVersion 15 targetSdkVersion 19 versionCode 146 versionName "2.0.0.1112.0" }
applicationId的值与包名保持一致啊,顺便说一句,这里的值可以不写,默认为包名。
实在想不出来问题原因,后来无意中发现,之前在测试机上安装过一个与当前app包名相同的老版本应用,于是果断卸载之,clean project,果然可以正常启动了。
小结一下,通常导致Activity class {package/class} does not exist这类问题的主要原因在于:
1.build.gradle下defaultConfig中applicationId的值与包名不一致;
该情况下,可以省去不写,或保持与包名一致。
2.运行过两个包名一样的应用,导致无法识别入口activity;
卸载 当前包名的应用,或通过adb shell rm /data/app/*.apk 卸载所有apk(Android安装包)。
更多相关文章
- Android(安卓)Studio安装教程及第一个HelloWorld程序
- NDK下 将Platinum SDK 编译成so库 (android - upnp)
- ubuntu10.04 android编译问题
- 实战技巧:用Enum(枚举类型)取代整数集
- android Eclipse导入com.android.internal.R和layoutlib.jar报错
- android led_misc驱动 + 测试应用程序(ndk-build)
- AndroidStudio中gradle,buildToolsVersion,complieSdkVersion的关
- Content Provider使用方法以及Android运行时权限申请
- 研究 android apk安装卸载等 产生的 系统广播