Android 由 java.lang.ClassNotFoundException 引起的 RuntimeException

Android RuntimeException caused by java.lang.ClassNotFoundException

求助!我在 Android 商店上有一个应用程序,我的一位用户最近报告了一个错误,但我无法找到错误的来源。这是 ANR 报告:

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.access00(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 Studio Emulator

中复制它

检查您尝试启动的 class 是否已在您的清单中注册。 也许不是,因此您会收到此错误。 希望有用。

查看 https://code.google.com/p/android/issues/detail?id=199327 - 似乎您启用了 Instant Run 功能,它在 Android 4 上导致了该问题,因为那里不支持它(尽管它不应该使应用程序崩溃当然很粗鲁,但这可能是一个错误。

尝试在禁用 Instant Run 的情况下构建应用程序。

根据 https://medium.com/google-developers/instant-run-how-does-it-work-294a1633367f#.bo88mglpe Instant Run 将一些代码 (App Server) 注入应用程序,谁知道 Android 4 然后 ))

Android ClassNotFoundException: Didn't find class on path

看来可能是android支持库版本和库项目

有冲突