Ответ 1
Та же проблема здесь при использовании целевого SDK 28. Возвращение к SDK 27 решило проблему.
Не возвращайте целевой SDK.
Лучше использовать это решение fooobar.com/questions/15882157/...
Мои проекты Работа с картами не работает
Я просто вставил ключ api на место google_maps_api.xml
и нажал google_maps_api.xml
запуска
Logcat:
E/AndroidRuntime: FATAL EXCEPTION: Thread-5 Процесс: com.example.appmy.lofind, PID: 10901 java.lang.NoClassDefFoundError: сбой разрешения: Lorg/apache/http/ProtocolVersion; на el.b(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 3) на ek.a(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 4) на em.a(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 51) на com.google.maps.api.android.lib6. dd.a(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8. 48 (040700-196123505): 16) at dw.run(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 61) Причиняется: java.lang.ClassNotFoundException: не найти класс "org.apache.http.ProtocolVersion" по пути: DexPathList [[zip файл]/system/priv-app/PrebuiltGmsCore/app_chimera/m/MapsDynamite.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/00000006/MapsDynamite.apk!/lib/x86,/system/lib]] в dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:126) в java.lang.ClassLoader.loadClass(ClassLoader.java:379) в ad.loadClass(: com.google.android.gms.dynamite_dynamiteloader @12848026 @12.8.48 (040700-196123505): 25) в java.lang.ClassLoader.loadClass(ClassLoader.java:312) в el.b(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 3) на ek.a(: com.google.android. gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 4) на em.a(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 51) в com.google.maps.api.android.lib6.drd.ap.a(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 11) at dw.a(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 16) на dw.run(: com.google.android.gms.dynamite_mapsdynamite @12848026 @12.8.48 (040700-196123505): 61) E/SchedPolicy: set_timerslack_ns не удалось выполнить запись: операция не разрешена
Та же проблема здесь при использовании целевого SDK 28. Возвращение к SDK 27 решило проблему.
Не возвращайте целевой SDK.
Лучше использовать это решение fooobar.com/questions/15882157/...
Я нашел другое решение на Android Google maps java.lang.NoClassDefFoundError: Не удалось разрешить: Lorg/apache/http/ProtocolVersion
Просто добавьте это в свой манифест:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
Обновить:
Начиная с Google Maps SDK версии 16.1.0, вы можете пропустить добавленное выше решение, поскольку тег был добавлен в AndroidManifest библиотеки карт.
https://developers.google.com/maps/documentation/android-sdk/releases#2019-02-06
Добавлено следующее объявление в AndroidManifest.xml для поддержки HTTP-клиента Apache на Android P и выше. После обновления до com.google.android.gms: play-services-maps: 16.1.0 вы можете удалить эту строку из собственного AndroidManifest.xml. (Выпуск 117591497).
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
Especifique el requisito para la biblioteca heredada HTTP de Apache
Si su aplicación está dirigida a nivel API 28 (Android 9.0) o superior, debe incluir la siguiente declaración dentro del elemento AndroidManifest.xml.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
Поместите это в тег Manifest:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
Дополнительная информация: https://issuetracker.google.com/issues/79478779
как говорится в документации Google:
Если вы используете com.google.android.gms: play-services-maps: 16.0.0 или ниже и ваше приложение ориентировано на уровень API 28 (Android 9.0) или выше, вы должны включить следующее объявление в элемент AndroidManifest. XML.
Использование реализации "com.google.android.gms: play-services-maps: 16.1.0" или выше