2013-11-01 6 views
32

Meine App verwendet Google Play-Dienste für den Standort. Auch es verwendet Google Maps. Bis heute funktionierte es gut, aber nach der Aktualisierung von Eclipse und der Installation von Google Play Services v13 funktioniert es nicht mehr. Heute habe ich mehrere Updates durchgeführt. - Android SDK Tools 22,3 aktualisiert - Android SDK-Plattform-Tools aktualisiert 19 - Android SDK Errichten-Tools bis 19 aktualisiert - Google bis 13 aktualisiert Play-Dienste Auch habe ich ADT aktualisiertGoogle Play Services v13 Fehler-Metadaten in AndroidManifest

Wenn ich die Anwendung zu starten ich erhalte diese Fehlermeldung:

java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. 
Expected 4030500 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" /> 

ich mehrmals mit Google Play-Dienste und auch diese App gut, bis jetzt gearbeitet hat, gearbeitet haben. Ich habe keine Metadaten in das Manifest aufgenommen.

Ich habe versucht, das Problem zu beheben, einschließlich des Metadaten-Tags in meinem App-Manifest, aber es funktioniert nicht. Derzeit sieht mein App-Manifest so aus (das ist das gleiche, das das Manifest in meiner App enthielt, als es funktionierte).

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.myapp.app" 
android:versionCode="2" 
android:versionName="1.0.1" > 

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

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<permission 
android:name="com.myapp.app.permission.MAPS_RECEIVE" 
android:protectionLevel="signature" /> 

<uses-permission android:name="com.myapp.app.permission.MAPS_RECEIVE" /> 

<supports-screens android:requiresSmallestWidthDp="320" /> 
<supports-screens android:compatibleWidthLimitDp="394" /> 


<uses-sdk 
android:minSdkVersion="16" 
android:targetSdkVersion="18" /> 

<application 
android:allowBackup="true" 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:theme="@style/CustomizedTheme" > 

<meta-data 
android:name="com.google.android.maps.v2.API_KEY" 
android:value="thecode" /> 

<activity 
android:name="com.myapp.app.ActivityMain" 
android:label="@string/app_name" > 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
    </activity> 
</application> 

</manifest> 

Ich frage mich, ob dieses Problem auf das Google-Play-Services-Manifest zurückzuführen ist?

Dies ist das Manifest habe ich gefunden:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.google.android.gms" 
android:versionCode="4030530" 
android:versionName="4.0.30 (889083-30)" > 

<uses-sdk android:minSdkVersion="8"/> 

</manifest> 

zur Verwendung der Google Play-Dienste ich die Anweisungen von Google gefolgt sind, wie in der Vergangenheit und bis jetzt habe ich kein Problem gefunden zu haben.

+0

mögliche Duplikate von [Nach Google Play Service Update auf Version 13 habe ich einen Fehler] (http://StackOverflow.com/Questions/19723811/After-Google-Play-Service-Update-to-version- 13-i-got-an-error) – laalto

Antwort

71

Die Google Maps getting started guide sagt:

In der Google-Dienste Version Ihrer App Spielen manifest

Bearbeiten Ihrer Anwendung AndroidManifest.xml-Datei und fügen Sie die innerhalb des Elements folgende Erklärung. Dadurch wird die Version der Google Play-Dienste eingebettet, mit denen die App kompiliert wurde.

<meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
+1

Ich habe diese Lösung ausprobiert, aber obwohl die Anwendung nicht abstürzt funktioniert sie nicht, da die neueste Version von Google Play verfügbar ist, die Revision 12. Es scheint, als sei sie noch nicht fertig. Ich habe den Google Play-Dienst für Froyo verwendet und es funktioniert.Bis jetzt werde ich das verwenden. Ich jedenfalls danke vielmals für deine Hilfe – Javier

+0

ja es sieht wie etwas neues aus, das sie hinzugefügt haben, wird das hinzufügen, nachdem ich die Spieldienste Bibliothek aktualisiert habe. – meh

+1

Im Logcat-Fehler können Sie sehen, welche Nummer Sie im Wertfeld dieser Metadaten eingeben müssen, und es ist NICHT die Revisionsnummer (zuletzt ist 13), überprüfen Sie es. – danigonlinea

7

wenn Sie google 13 Service Revision spielen verwenden, dann müssen Sie diese Meta-Tag setzen:

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

aber es funktioniert nicht niedriger Ebene api wie android 2. *. um dieses Problem zu beheben, installieren Sie zuerst Google Play Service für die Revision 12 von frayo und verwenden Sie es. Es funktioniert auf allen API-Ebene

Verwandte Themen