Activity class {package/class} does not exist原因及解决方法

前两天用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,Android,studio)