我有一个使用multidex的Android应用程序.它已发布,每月有数十万的用户.我经常会在Crashlytics上收到ExceptionInInitializerError崩溃.我从来没有能够复制它们.
我读到这可能是由于multidex引起的,并且在我的配置中具有multiDexKeepFile文件(‘multidex-config.txt’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 for LocalStrings上的资源包仅显示默认值(法语和日语).
谢谢.