GoogleMaps não funciona na API 28

3 respostas
googlemapsandroidjava
A

Estou fazendo um app que vai trabalhar com o Google Maps e está funcionando perfeitamente, da API 25 até a API 27. Mas ao testar na API 28 o app simplesmente fecha.

No Grandle eu tive de mudar o

implementation ‘com.android.support:appcompat-v7:28.0.0-alpha3’

Para

implementation ‘com.android.support:appcompat-v7:28.0.0-alpha1’

Pois estava dando erro no layout, mas não sei se isso tem alguma ligação

Enfim, alguém saberia dizer o pq de não rodar na API 28?Texto pré-formatado

3 Respostas

D

Quando o app fecha “do nada”, normalmente, o android studio armazena um log disso (exibe também). Convém observar e verificar a mensagem de erro.

A

Que é essa aqui;

06-21 16:52:09.081 5112-5139/com.appmiau.miau E/AndroidRuntime: FATAL EXCEPTION: Thread-5

Process: com.appmiau.miau, PID: 5112

java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion;

at el.b(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):3)

at ek.a(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):4)

at em.a(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):51)

at 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)

at dw.run(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):61)

Caused by: java.lang.ClassNotFoundException: Didnt find class org.apache.http.ProtocolVersion on path: DexPathList[[zip file /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]]

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@12848026@12.8.48 (040700-196123505):25)

at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

at el.b(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):3)

at ek.a(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):4)

at em.a(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):51)

at 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)

at dw.run(:com.google.android.gms.dynamite_mapsdynamite@12848026@12.8.48 (040700-196123505):61)

06-21 16:52:09.107 5112-5139/com.appmiau.miau I/Process: Sending signal. PID: 5112 SIG: 9

06-21 16:52:09.107 5112-5112/com.appmiau.miau E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted
F

Bom dia Arthur. Apesar do longo tempo decorrido, achei a sua dúvida quando procurava a solução para o mesmo problema. Eis a solução:

Adicione ao seu arquivo AndroidManifest.xml a seguinte linha, logo antes do inicio das <activity…/>, dentro da tag <application…/>

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

Caso não funcione de primeira, dê um wipe reset no seu emulador e instale novamente o app. Estou usando Android studio 3.1.4, com a versão atual do kotlin em 09/2018

Espero que ajude.

Criado 22 de junho de 2018
Ultima resposta 15 de set. de 2018
Respostas 3
Participantes 3