J'utilise Google maps Android SDK 11.6.2 (également essayé 15.0.1), mais je reçois le crash suivant avant que la carte ne s'affiche. Clé API déjà vérifiée dans le manifeste, elle est disponible, mais ce problème persiste. J'ai la version targetSDk en tant que 28.Est-ce que cela provoque ce problème.
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@[email protected] (100408-196123505):25)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at el.b(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-196123505):3)
at ek.a(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-196123505):4)
at em.a(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-196123505):51)
at com.google.maps.api.android.lib6.drd.ap.a(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-196123505):11)
at dw.a(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-196123505):16)
at dw.run(:com.google.android.gms.dynamite_mapsdynamite@[email protected] (100408-196123505):61)
android
google-maps
google-play-services
Ramprasad
la source
la source
Réponses:
Mettez ceci dans la
<application>
balise Manifest :Plus d'informations: https://issuetracker.google.com/issues/79478779
la source
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/message/BasicNameValuePair;
après que je suis passé à AndroidX (et l'augmentation de la limite de méthodes de 65K qui a suivi)Cela résoudra votre plantage. Appliquer ceci dans le manifeste
la source
android:usesCleartextTraffic="true"
? Les autres réponses ne mentionnent pas cette ligne. Si optionnel?android:usesCleartextTraffic="true"
c'est aussi le problème que vous obtiendrez plus tard, c'est pour des raisons de sécurité.android:usesCleartextTraffic=”true”
cela permet de communiquer avec des liens http en texte clair - c'est le statu quo. Donc, autant que je sache,android:usesCleartextTraffic=”false”
cela rendrait l'application plus "sécurisée". Corrigez-moi si j'ai tort, s'il-vous plait.Effectuez l'une des solutions suivantes:
1- Mettre à jour la bibliothèque play-services-maps vers la dernière version:
2- Ou inclure la déclaration suivante dans l'
<application>
élément deAndroidManifest.xml
.la source
Si votre application cible l'API niveau 28 (Android 9.0) ou supérieur, vous devez inclure la déclaration suivante dans l'
<application>
élément AndroidManifest.xml.la source
Si votre application cible l'API de niveau 28 (Android 9.0) ou supérieur, vous devez inclure la déclaration suivante dans l'élément AndroidManifest.xml. voir les changements de comportement de l'application ciblant 28+ dans le lien ci-dessous
https://developer.android.com/about/versions/pie/android-9.0-changes-28
la source
Si cela se produit dans Android 8.0 ou supérieur, mettez simplement cette ligne dans votre balise d'application manifeste
la source
Réglez tis:
Comme ça:
la source
Ajouter des autorisations dans le fichier manifeste
et mettre en partie cette ligne de code
J'ai eu le même problème et il a été résolu par cela.
la source
Voici la solution
Ajout de cette ligne à votre Menifest.xml à l'intérieur
<application>
balisepour plus d'informations
la source
créer un fichier xml res / xml / network_security_config.xml
Et ajoutez 2 balises tag dans votre AndroidManifest.xml
Ajoutez également useLibrary 'org.apache.http.legacy' dans votre gradle de génération d'application
la source