Я использую Google Maps Android SDK 11.6.2 (также пробовал 15.0.1), но я получаю следующий сбой до того, как карта покажет. Уже проверен ключ API в манифесте, он доступен, но все же эта проблема возникает. У меня версия targetSDk как 28. Это вызывает эту проблему.
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion;
at el.b(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):3)
at ek.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):4)
at em.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):51)
at com.google.maps.api.android.lib6.drd.ap.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):11)
at dw.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):16)
at dw.run(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):61)
Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.ProtocolVersion" on path: DexPathList[[zip file "/system/priv-app/PrebuiltGmsCorePi/app_chimera/m/MapsDynamite.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/00000036/MapsDynamite.apk!/lib/armeabi-v7a, /data/user_de/0/com.google.android.gms/app_chimera/m/00000036/MapsDynamite.apk!/lib/armeabi, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:126)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at ad.loadClass(:com.google.android.gms.dynamite_dynamiteloader@12848063@12.8.48 (100408-196123505):25)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at el.b(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):3)
at ek.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):4)
at em.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):51)
at com.google.maps.api.android.lib6.drd.ap.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):11)
at dw.a(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):16)
at dw.run(:com.google.android.gms.dynamite_mapsdynamite@12848063@12.8.48 (100408-196123505):61)
android
google-maps
google-play-services
Ramprasad
источник
источник
Ответы:
Поместите это в
<application>
тег Manifest :Дополнительная информация: https://issuetracker.google.com/issues/79478779
источник
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/message/BasicNameValuePair;
после того, как я перешел на AndroidX (и последующее увеличение лимита методовЭто разрешит ваш сбой. Примените это в манифесте
источник
android:usesCleartextTraffic="true"
хорошо? Другие ответы не затрагивают эту строку. Так необязательно?android:usesCleartextTraffic="true"
является проблемой, которую вы получите позже, в целях безопасности.android:usesCleartextTraffic=”true”
это позволяет общаться с открытым текстом http ссылки - это статус-кво. Так что, насколько я понимаю, толькоandroid:usesCleartextTraffic=”false”
сделает приложение более «безопасным». Пожалуйста, поправьте меня, если я ошибаюсь.Сделайте одно из следующих решений:
1- Обновите библиотеку play-services-maps до последней версии:
2- Или включите следующую декларацию в
<application>
элементAndroidManifest.xml
.источник
Если ваше приложение ориентировано на уровень API 28 (Android 9.0) или выше, вы должны включить следующее объявление в
<application>
элемент AndroidManifest.xml.источник
Если ваше приложение ориентировано на уровень API 28 (Android 9.0) или выше, вы должны включить следующее объявление в элемент AndroidManifest.xml. см. поведенческие изменения приложения, ориентированного на 28+, по ссылке ниже
https://developer.android.com/about/versions/pie/android-9.0-changes-28
источник
Если это происходит в Android 8.0 или выше, просто поместите эту строку в тег приложения манифеста
источник
Установите это:
Как это:
источник
Добавить разрешения в файл манифеста
и частично поставить эту строку кода
У меня была такая же проблема, и это было исправлено.
источник
Вот решение
Добавление этой строки в ваш
<application>
тег Menifest.xmlдля получения дополнительной информации
источник
создайте XML-файл res / xml / network_security_config.xml
И добавьте 2 тега тега в свой AndroidManifest.xml
Также добавьте useLibrary 'org.apache.http.legacy' в ваш грейд сборки приложения
источник