プロジェクトマップアクティビティが機能していません
ちょうどgoogle_maps_api.xml
にAPIキーを貼り付け、実行をクリックしました
Logcat:
E/AndroidRuntime:致命的な例外:スレッド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)at 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)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)原因:Java.lang.ClassNotFoundException:Did n'tパスでクラス「org.Apache.http.ProtocolVersion」を見つけます: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) 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)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)dw.run(:com.google.Android.gms.dynamite_mapsdynamite @ 12848026 @ 12.8.48(040700-196123505):61)E/SchedPolicy :set_timerslack_nsの書き込みに失敗しました:操作は許可されていません
ここで、ターゲットSDK 28を使用するときの同じ問題。SDK27に戻すことで問題が解決しました。
ターゲットSDKを元に戻さないでください。
このソリューションをより適切に使用してください https://stackoverflow.com/a/50944537/5710605
Android Google maps Java.lang.NoClassDefFoundError:Failed resolution of: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
Android P以降でApache HTTPクライアントをサポートするために、AndroidManifest.xmlに次の宣言を追加しました。 com.google.Android.gms:play-services-maps:16.1.0に更新した後、独自のAndroidManifest.xmlからこの行を削除できます。 (問題 117591497 )
<uses-library Android:name="org.Apache.http.legacy" Android:required="false"/>
これをマニフェストタグに追加します。
<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。