web-dev-qa-db-fra.com

Métadonnées d'erreur Google Play Services v13 dans AndroidManifest

Mon application utilise les services Google Play pour la localisation. Il utilise également Google Maps. Jusqu'à aujourd'hui, cela fonctionnait bien, mais après la mise à jour d'Eclipse et l'installation de Google Play Services v13, cela ne fonctionne plus. Aujourd'hui, j'ai effectué plusieurs mises à jour. - Android SDK Tools mis à jour vers 22.3 - Android SDK Platform Tools mis à jour vers 19 - Android SDK Build-tools mis à jour vers 19 - Services Google Play mis à jour à 13 J'ai également mis à jour ADT

Lorsque je démarre l'application, je reçois ce message d'erreur:

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" />

J'ai travaillé plusieurs fois avec Google Play Services et cette application a bien fonctionné jusqu'à présent. Je n'ai jamais inclus de métadonnées dans le manifeste.

J'ai essayé de résoudre le problème, y compris la balise meta-data dans le manifeste de mon application, mais cela ne fonctionne pas. Actuellement, le manifeste de mon application ressemble à ceci (c'est le même que le manifeste inclus dans mon application quand il fonctionnait).

<?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>

Je me demande si ce problème est dû au manifeste google-play-services?

Voici le manifeste que j'ai trouvé:

<?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>

Pour utiliser les services Google Play, j'ai suivi les instructions données par Google, comme par le passé et jusqu'à présent, je n'ai trouvé aucun problème.

32
user2270655

Le guide de démarrage de Google Maps dit:

Ajoutez la version des services Google Play au manifeste de votre application

Modifiez le fichier AndroidManifest.xml de votre application et ajoutez la déclaration suivante dans l'élément. Cela intègre la version des services Google Play avec laquelle l'application a été compilée.

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

si vous utilisez la révision 13 du service google play, vous devez mettre cette balise meta:

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

mais cela ne fonctionne pas pour les api de niveau inférieur comme Android 2. *. pour résoudre ce problème, installez d'abord le service google play pour frayo révision 12 et utilisez-le. cela fonctionne à tous les niveaux de l'api

7
user3051435

@Javier Avez-vous vu le post sur "Blog des développeurs Android"? Ils ont mis à jour l'application du service google play la semaine dernière. Donc, le code de version convient maintenant à lib. Ça marche bien. Nous pouvons utiliser la dernière version de "google-play-service-lib" maintenant. Je l'ai testé et ça marche! Voir ceci http://Android-developers.blogspot.kr/2014/01/google-play-services-41.html

1
cmcromance