Activity class {package/class} does not exist原因及解決方法
阿新 • • 發佈:2018-12-20
前兩天用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安裝包)。