我在 Android 9 (Pie) 中出现以下错误 我不知道错误在哪里 我认为它与 google gms libs 有关。
java.lang.NoClassDefFoundError:
at fa.b (com.google.android.gms.dynamite_mapsdynamite@14574081@14.5.74 (100400-219897028):3)
at ez.a (com.google.android.gms.dynamite_mapsdynamite@14574081@14.5.74 (100400-219897028):3)
at fb.a (com.google.android.gms.dynamite_mapsdynamite@14574081@14.5.74 (100400-219897028):15)
at com.google.maps.api.android.lib6.drd.al.a (com.google.android.gms.dynamite_mapsdynamite@14574081@14.5.74 (100400-219897028):6)
at ee.a (com.google.android.gms.dynamite_mapsdynamite@14574081@14.5.74 (100400-219897028):21)
at ee.run (com.google.android.gms.dynamite_mapsdynamite@14574081@14.5.74 (100400-219897028):8)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:169)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at ac.loadClass (com.google.android.gms.dynamite_dynamiteloader@14574081@14.5.74 (100400-219897028):4)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
最佳答案
这里是官方文档
If you are using com.google.android.gms:play-services-maps:16.0.0 or below and your app is targeting API level 28 (Android 9.0) or above, you must include the following declaration within the element of AndroidManifest.xml.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
This is handled for you if you are using com.google.android.gms:play-services-maps:16.1.0 and is not necessary if your app is targeting a lower API level.
同时在 Menifest.xml 中添加这个标签
<application
.....
.....
android:usesCleartextTraffic="true">
如果您使用向服务器发送和接收请求(如 Volley、改造和 Http 请求)
也试试这个(可选)
将项目转换为AndroidX
确保首先备份项目。
关于android - Android 9 (Pie) 中的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53513210/