it-swarm.com.de

Android Google maps Java.lang.NoClassDefFoundError: Fehlgeschlagene Auflösung von: Lorg / Apache / http / ProtocolVersion

Ich verwende Google Maps Android SDK 11.6.2 (auch ausprobiert 15.0.1), erhalte jedoch folgenden Absturz, bevor die Karte angezeigt wird. Der bereits überprüfte API-Schlüssel im Manifest ist verfügbar, dieses Problem tritt jedoch weiterhin auf. Ich habe targetSDk Version als 28.Ist es dieses Problem verursacht.

Java.lang.NoClassDefFoundError: Failed resolution of: Lorg/Apache/http/ProtocolVersion;
        at el.b(:[email protected]@12.8.48 (100408-196123505):3)
        at ek.a(:[email protected]@12.8.48 (100408-196123505):4)
        at em.a(:[email protected]@12.8.48 (100408-196123505):51)
        at com.google.maps.api.Android.lib6.drd.ap.a(:[email protected]@12.8.48 (100408-196123505):11)
        at dw.a(:[email protected]@12.8.48 (100408-196123505):16)
        at dw.run(:[email protected]@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(:[email protected]@12.8.48 (100408-196123505):25)
        at Java.lang.ClassLoader.loadClass(ClassLoader.Java:312)
        at el.b(:[email protected]@12.8.48 (100408-196123505):3) 
        at ek.a(:[email protected]@12.8.48 (100408-196123505):4) 
        at em.a(:[email protected]@12.8.48 (100408-196123505):51) 
        at com.google.maps.api.Android.lib6.drd.ap.a(:[email protected]@12.8.48 (100408-196123505):11) 
        at dw.a(:[email protected]@12.8.48 (100408-196123505):16) 
        at dw.run(:[email protected]@12.8.48 (100408-196123505):61) 
174
Ramprasad

Fügen Sie dies in das Manifest <application> -Tag ein:

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

Weitere Informationen: https://issuetracker.google.com/issues/79478779

398
ham

Dies wird Ihren Absturz beheben. Wende dies im Manifest an

 <application
             ...
             >
             ...
          <uses-library Android:name="org.Apache.http.legacy" 
           Android:required="false"/>
             ...


<application/>
33
Nicky

Führen Sie eine der folgenden Lösungen aus:

1- Aktualisiere die play-services-maps Bibliothek auf die neueste Version:

com.google.Android.gms:play-services-maps:16.1.0

2- Oder fügen Sie die folgende Deklaration in das <application> -Element von AndroidManifest.xml ein.

<uses-library
      Android:name="org.Apache.http.legacy"
      Android:required="false" />
14
Darush

Wenn Ihre App auf API-Ebene 28 (Android 9.0) oder höher abzielt, müssen Sie die folgende Deklaration in das <application> -Element von AndroidManifest.xml aufnehmen.

 <uses-library
       Android:name="org.Apache.http.legacy"
  Android:required="false" />
7
Suman

Wenn Ihre App auf API-Level 28 (Android 9.0) oder höher abzielt, müssen Sie die folgende Deklaration in das Element von AndroidManifest.xml aufnehmen. Die Verhaltensänderungen von App-Targeting 28+ finden Sie unter dem folgenden Link

https://developer.Android.com/about/versions/pie/Android-9.0-changes-28https://developer.Android.com/about/versions/pie/Android-9.0-changes-28

1
creativecoder

erstellen Sie eine XML-Datei res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
      <base-config cleartextTrafficPermitted="true">
       <trust-anchors>
        <certificates src="system" />
       </trust-anchors>
      </base-config>
    </network-security-config>

Und fügen Sie Ihrem AndroidManifest.xml 2 Tags hinzu

<?xml version="1.0" encoding="utf-8"?>
 <manifest......>
  <application Android:networkSecurityConfig="@xml/network_security_config">
   <activity..../> 
   ......
   ......
 <uses-library
        Android:name="org.Apache.http.legacy"
        Android:required="false"/>
</application>

Fügen Sie außerdem useLibrary 'org.Apache.http.legacy' in Ihr App-Build-Gradle ein

defaultConfig {
        applicationId "com.ascorb.merazinn"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 6
        versionName "1.2"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        useLibrary 'org.Apache.http.legacy'
    }
0
Sudhir singh

Wenn dies in Android 8.0 oder höher der Fall ist, fügen Sie diese Zeile einfach in Ihr Manifest-Anwendungs-Tag ein

<uses-library Android:name="org.Apache.http.legacy" Android:required="false"/>
0

Stellen Sie Folgendes ein:

multiDexEnabled true

So was:

Android {
    compileSdkVersion 28
    defaultConfig {

        multiDexEnabled true

    }
    buildTypes {
        release {

        }
    }
}
0
reza_khalafi