Mac Android studio 3.1 在OPPO R15 上除錯app 出現無法啟動,閃退的問題
一:問題
今天在 OPPO R15 上除錯程式碼,安裝後發現無法啟動。報錯如下
8/com.banger.xxxxx E/AndroidRuntime: FATAL EXCEPTION: main Process: com.banger.xxxxxx, PID: 9358 java.lang.RuntimeException: Unable to instantiate application com.banger.xxxxx.ui.BaseApplication: java.lang.ClassNotFoundException: Didn't find class "com.banger.xxxx.ui.BaseApplication" on path: DexPathList[[zip file "/data/app/com.banger.xxxx-YINxedP-pIswZbzon0qenQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.banger.xiaowei-YINxedP-pIswZbzon0qenQ==/lib/arm64, /system/fake-libs64, /data/app/com.banger.xxxxx-YINxedP-pIswZbzon0qenQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at android.app.LoadedApk.makeApplication(LoadedApk.java:1053) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6138) at android.app.ActivityThread.-wrap1(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1861) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:183) at android.app.ActivityThread.main(ActivityThread.java:7014) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.banger.xiaowei.ui.BaseApplication" on path: DexPathList[[zip file "/data/app/com.banger.xxxxx-YINxedP-pIswZbzon0qenQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.banger.xiaowei-YINxedP-pIswZbzon0qenQ==/lib/arm64, /system/fake-libs64, /data/app/com.banger.xxxxxx-YINxedP-pIswZbzon0qenQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newApplication(Instrumentation.java:1087) at android.app.LoadedApk.makeApplication(LoadedApk.java:1047) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6138) at android.app.ActivityThread.-wrap1(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1861) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:183) at android.app.ActivityThread.main(ActivityThread.java:7014) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888)
報錯的重點在 這裡 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.banger.xiaowei.ui.BaseApplication"
就是找不到類。
二:解決問題
這是 Android studio
的 instant run
給我們留下的坑。需要在 Android studio
中設定下
-
Perferences
image
- Build,Execution, Deployment
- instant run
-
Enable instant run to hot swap code/resouce changes on deploy(default enabled) ,預設這個是勾選的,關閉這個功能,即可正常執行除錯 app 。
image