我的应用程序现在已经在Play商店上运行了一段时间,并且有大约500个安装,今天我的开发控制台的ANR&崩溃部分:
java.lang.RuntimeException:
at android.app.ActivityThread.installProvider (ActivityThread.java:6423)
at android.app.ActivityThread.installContentProviders (ActivityThread.java:6012)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5951)
at android.app.ActivityThread.-wrap3 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1710)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6776)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass (ClassLoader.java:380)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
at android.app.ActivityThread.installProvider (ActivityThread.java:6408)
这些报告中有6个(全部相同)来自一个用户,在Galaxy S8 +(dream2qltesq)上使用Android版本7。
有没有人知道造成这种情况的原因是什么?
我已经排除了64k方法参考限制和/或Proguard是原因,因为(如果我错了请纠正我),如果是64k方法参考限制,我会说,我会在Android Studio中构建应用程序时遇到错误(我没有),如果原因是Proguard,我会假设每次安装和运行生产版本时都会出现此问题(不是这样)。
在SO上的问题中提到了一些类似的错误,但它们通常是“从Eclipse / Android Studio运行良好,但从Play商店安装时不运行。我知道我的应用程序工作来自Play商店,所以我有点感到困惑的是为什么这可能只出现在500个用户中。我之前没有看到过这个问题而且无法重新创建它。
如果有人对这些类型的崩溃报告/例外有经验,我会很感激,如果有什么我可以做的来纠正这个问题。
答案 0 :(得分:0)
一旦进入我的应用程序,问题出现在不正确的MultiDex实现中,我在添加到主类MultiDex.install(this)之后解决了这个问题;
public class MyMainClass extends Application {
@Override
public void onCreate() {
MultiDex.install(this);
...
}