Android:截击 NoClassDefFoundError

Android: Volley NoClassDefFoundError

我们最近将我们的应用程序更新到 targetSDK 28。它一直运行良好,但是一位用户在运行该应用程序时总是崩溃。正如我们的 google 游戏崩溃报告所示:

java.lang.NoClassDefFoundError: 
at com.android.volley.toolbox.HurlStack.performRequest (HurlStack.java:109)
at com.android.volley.toolbox.BasicNetwork.performRequest (BasicNetwork.java:97)
at com.android.volley.NetworkDispatcher.run (NetworkDispatcher.java:114)
Caused by: java.lang.ClassNotFoundException: 
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)

索尼 Xperia 正在发生这种情况,Android 9。 这似乎与我们在应用程序打开后立即进行的调用有关(截击),但我们无法在内部重现该问题,因此很难准确查明发生了什么。

我该如何解决这个问题?

更新:好的,所以这是在黑暗中的疯狂拍摄,但根据这个我需要更新我的清单: https://developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library

我们确实使用 google 播放服务来定位,所以希望这能解决这个问题。稍后会更新。

解决方法:放

< uses-library
android:name="org.apache.http.legacy"
android:required="false" />

在 AndroidManifest 的 Application 对象中。