android - java.lang.RuntimeException : Unable to instantiate application

标签 android crash apk updates

在 Google Play 开发者控制台中,我看到了这个崩溃:

java.lang.RuntimeException: Unable to instantiate application com.example.MyApp: java.lang.ClassNotFoundException: Didn't find class "com.example.MyApp" on path: DexPathList[[zip file "/mnt/asec/com.example.testapp-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.example.testapp-1/lib, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4545)
at android.app.ActivityThread.access$1500(ActivityThread.java:160)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1390)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5330)
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:829)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.MyApp" on path: DexPathList[[zip file "/mnt/asec/com.example.testapp-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.example.testapp-1/lib, /vendor/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:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
... 11 more
Suppressed: java.io.IOException: unable to open DEX file
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:296)
at dalvik.system.DexFile.<init>(DexFile.java:80)
at dalvik.system.DexFile.<init>(DexFile.java:59)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:263)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:230)
at dalvik.system.DexPathList.<init>(DexPathList.java:112)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:48)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:65)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:57)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:326)
at android.app.LoadedApk.makeApplication(LoadedApk.java:508)
... 11 more

此崩溃主要发生在 Android 版本 4.4 和 4.2 上。
This answer表明当 dalvik 更新 apk 时会发生此崩溃。好像是low-priority Android bug .

有什么解决方法吗?
设置有帮助吗
 <application        
        android:allowBackup="false"

在 Manifest.xml 中?

(可能应用程序的备份存储在 SD 卡上,这导致了 apk 更新问题)。

最佳答案

当您声明一个扩展 Application (android.app.Application) 的类然后用户 android:name="thatClassName"时,通常会发生此错误
但是,如果您的应用程序无法完全访问它。可能会出现此错误
尝试只公开类(class)
它将使应用程序用户在全局范围内进行分类

关于android - java.lang.RuntimeException : Unable to instantiate application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28348882/

相关文章:

android - 在 Android 上看起来像中文的日文字符

Android 在多段线的开始和结束处放置标记

c - 使用 cvVideoWriter 时 OpenCV 2.3.1 highgui 在退出时崩溃

android - 导出项目后在 bin 中找不到 .apk 文件?

android - 找到了一些包但不是兼容的更新

android - Android Lollipop 中的共享元素转换故障

javascript - 页面崩溃(可能是由于多维数组?)

excel - 导致 excel 2013 崩溃的用户表单

android - 将 APK 上传到 Google Play 控制台不起作用

Android:当付费 Google Play 在我的国家不可用时如何分发付费应用程序