1

Ich versuche Google-Play-Services-Bibliothek zu implementieren und es scheint mir, ich mache alles richtig.Das Metadaten-Tag in der AndroidManifest.xml Ihrer App hat nicht den richtigen Wert. - Google Maps

Hier ist meine Stacktrace:

06-14 13:17:51.804: E/AndroidRuntime(22809): java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 8298000 but found 0. You must have the following declaration within the <application> element:  <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 
06-14 13:17:51.804: E/AndroidRuntime(22809): at com.google.android.gms.common.GooglePlayServicesUtil.zzak(Unknown Source) 
06-14 13:17:51.804: E/AndroidRuntime(22809): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source) 
06-14 13:17:51.804: E/AndroidRuntime(22809): at com.google.android.gms.maps.internal.zzy.zzaQ(Unknown Source) 

Hier ist mein Manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    android:versionCode="1" 
    android:versionName="1alpha" 
    package="ru.vezdeok.driverapp"> 

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="23" /> 

    <uses-permission android:name="android.permission.NFC" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.RECORD_AUDIO"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 


     <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <application 
     android:name=".app.App" 
     android:allowBackup="true" 
     android:icon="@mipmap/icon" 
     android:theme="@style/AppTheme" 
     android:label="@string/app_name"> 
... A bunch of Activity declarations 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="@string/google_api_key"> 
     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     </meta-data> 

    </application> 

</manifest> 

jetzt, Google-Play-services_lib angebracht ist und integer/google_play_services_version liest fein und es ist 8.298.000, wie es benötigt wird. Aber selbst wenn ich Android android: value = "8298000" habe ich noch einen Fehler

Ich habe auch versucht, <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> zu entfernen, wie ich auf stackoverflow lesen, dass es nicht notwendig ist, aber das hat mir auch nicht geholfen.

Also .. was ist los? Es scheint, dass ich Meta-Daten genau deklariert habe, wie ich

Antwort

5

Your meta-data verschachtelt werden sollte und ich denke, das ist nicht die Art, wie es sein soll. Versuchen Sie, die inneren meta-data aus seiner aktuellen Position zu bewegen:

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="@string/google_api_key"/> 
<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 
+0

Yessssssssss!) Die Fehler sind immer sooo dumm! :) Ich habe über eine Stunde in meinen Code geschaut und nicht gesehen, dass sie verschachtelt sind :) – user2976267

0

Nur als beiseite, wenn Sie sich hier finden, nachdem zwischen mehreren Zweigen Schalten, stellen Sie sicher, dass Sie manuell die App auf Ihrem Testgerät deinstallieren und macht einen sauberen in Android Studio.

Verwandte Themen