1

幫助!我在Android商店中有一個應用程序,我的一個用戶最近報告了一個錯誤,但我無法找到錯誤的來源。這裏是ANR報告:由java.lang.ClassNotFoundException引起的Android RuntimeException

java.lang.RuntimeException: Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication: java.lang.ClassNotFoundException: Didn't find class "com.android.tools.fd.runtime.BootstrapApplication" on path: DexPathList[[zip file "/mnt/asec/com.applicationcomp.myapplication-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.applicationcomp.myapplication-1/lib, /system/lib]] 
at android.app.LoadedApk.makeApplication(LoadedApk.java:516) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4580) 
at android.app.ActivityThread.access$1500(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1290) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5299) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:932) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:748) 
at dalvik.system.NativeStart.main(Native Method) 

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.tools.fd.runtime.BootstrapApplication" on path: DexPathList[[zip file "/mnt/asec/com.applicationcomp.myapplication-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.applicationcomp.myapplication-1/lib, /system/lib]] 
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 
at android.app.Instrumentation.newApplication(Instrumentation.java:987) 
at android.app.LoadedApk.makeApplication(LoadedApk.java:511) 
... 11 more 

有沒有人知道這些錯誤的原因?這顯然是在Android 4.4設備上啓動應用程序時發生的(我也在4.2版本中也收到了另一個關於此事的報告)。

*****重要注意事項****** 出於某種原因,這似乎只是在某些4.4設備上發生的,不幸的是我無法複製它在Android模擬器工作室

+0

還有一個類似的問題[這裏回答](http://stackoverflow.com/questions/33967703/unable-to-instantiate-application-com-android-tools-fd-runtime-bootstrapapplicat) 。 – eXirrah

+0

@eXirrah - 關於'java.lang.IllegalStateException',而當前的是'CNFE'。 @Rick B - CNFE,而不是ANR)) – Mixaz

回答

0

https://code.google.com/p/android/issues/detail?id=199327 - 看來你啓用​​功能,它使得在Android 4這個問題,因爲它不支持存在(儘管它不應該崩潰粗魯當然,但它可能是一個錯誤的應用程序)。

嘗試使用禁用的​​構建應用程序。

根據https://medium.com/google-developers/instant-run-how-does-it-work-294a1633367f#.bo88mglpe​​注入一些代碼(App Server)到應用程序,誰知道會發生什麼,在Android 4則))

+0

好吧,我沒有選中它。任何想法爲什麼這隻發生在4.4設備而不是其他設備? –

+0

很難確定,Instant Run作者可能會給它一些提示。從錯誤中可以看出,該功能甚至會在Android 6設備上發生問題。只是一個猜測 - 該功能有一個運行時檢查,它告訴它啓用實際上不工作的設備上的即時運行。然後,該功能無法從本機操作系統層和崩潰得到適當的支持。 – Mixaz

+0

即時運行造成問題的另一個示例:http://stackoverflow.duapp.com/questions/36491692/android-studio-2-0-instant-run-causes-dexfile-to-not-load-all-class – Mixaz

0

檢查您嘗試啓動的類是否在您的清單中註冊。 也許它不是,因爲你會得到這個錯誤。 希望它能起作用。

+0

我相信這是在我的清單已經 –

0

Android ClassNotFoundException: Didn't find class on path

看來,這可能是Android的支持庫之間的衝突版本和庫項目

+0

關於如何改正這個問題,如果有的話,有什麼想法? –

+0

com.android.tools.fd.runtime.BootstrapApplication類的名稱是否爲你說了些什麼?它看起來不像你想要在ClassPath上使用的用戶類 – Mixaz

+0

如果你按照我提出的鏈接,你會發現一些解決方案。 –

相關問題