1. 程式人生 > >Activity class {package/class} does not exist原因及解決方法

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安裝包)。