【发布时间】:2017-11-10 16:34:00
【问题描述】:
我有一个使用 multidex 的 Android 应用。它已发布,每月拥有数十万用户。每隔一段时间,我就会在 Crashlytics 上收到 ExceptionInInitializerError 崩溃。我从来没有能够复制它们。
我读到这可能是由于 multidex 并且在我的配置中有 multiDexKeepFile file('multidex-config.txt') 和类列表会有所帮助,但它似乎没有帮助,至少对于这个资源没有帮助。这是我multidex-config.txt上的内容:
org.eclipse.jetty.http.MimeTypes
org.eclipse.jetty.server.Server
javax.servlet.LocalStrings
这些都是我过去遇到过类似崩溃的所有课程。我仍在等待其中一些是否已修复,但下面的这个肯定会再次出现:
Fatal Exception: java.lang.ExceptionInInitializerError
at myapp.run(myclass.java:986)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale it_IT
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1501)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1324)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:723)
at javax.servlet.GenericServlet.(GenericServlet.java)
那么我该如何解决这个问题?在这种情况下,它似乎正在寻找意大利文件,但情况并非总是如此,而且我在意大利有很多用户,所以我不确定为什么它只是崩溃了一些。 Android Studio 上LocalStrings 的资源包只显示一个默认的,法语和日语。
谢谢。
【问题讨论】:
-
我猜你已经试过this了,对吧?
-
我不确定我应该在那里尝试什么。我自己实际上并没有添加资源,它来自 gradle 上的编译行,如果我查看我的库,我可以看到资源。就像我说的,这对我的大多数用户来说都很好,只有少数人会失败。
标签: java android android-multidex