Lors de la mise à niveau de mon projet vers la dernière version des services Google Play ( v4.0, sortie Halloween 2013 ), vous êtes maintenant censé ajouter une nouvelle balise dans le AndroidManifest.xml
fichier.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Malheureusement, lorsque j'essaye de faire cela, j'obtiens alors cette erreur de compilation:
android-apt-compiler: /blahblah/AndroidManifest.xml:409: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
Je peux ensuite accéder au fichier google-play-services_lib/res/values/version.xml
et afficher l'entier brut de ce symbole:
<integer name="google_play_services_version">4030500</integer>
Et puis réinsérez-le dans mon AndroidManifest.xml
:
<meta-data
android:name="com.google.android.gms.version"
android:value="4030500" />
Cela fonctionne parfaitement et je peux ensuite compiler et exécuter le projet et l'application très bien. Mais c'est certainement une solution indésirable avec des problèmes d'évolutivité évidents.
Des idées?
android
google-play-services
Charles Madère
la source
la source
Réponses:
Pour tous ceux qui utilisent Eclipse, voici comment procéder.
Ensuite, sur votre projet
la source
.project
fichier dans legoogle-play-services_lib
répertoire indiqué . Évidemment, la raison immédiate est qu'Eclipse ne peut pas écrire dans le répertoire Program Files, où se trouve le SDK, mais la question plus concrète serait de savoir pourquoi la modification du.project
fichier (qui appartient apparemment au SDK et devrait donc être "correct") est nécessaire en premier lieu.Veuillez noter que ce correctif ne peut s'appliquer qu'aux utilisateurs d'IntelliJ !! (Plus d'informations au bas de cet article qui devraient s'appliquer à tout le monde.)
Correction de ce problème! J'utilise IntelliJ et il s'avère que j'avais juste mal configuré la façon dont
google-play-services_lib
j'incluais le module en tant que dépendance.Comme j'ai résolu cela entièrement via l'interface graphique et pas du tout en éditant des fichiers, voici quelques captures d'écran:
Ma structure de projet a donc commencé à ressembler à ceci ...
Ensuite, j'ai supprimé la
google-play-services
bibliothèque de ma liste de dépendances en la sélectionnant, puis en cliquant sur le bouton moins en bas. Notez l'erreur en bas de la boîte de dialogue, car mon projet nécessite absolument cette bibliothèque. Mais ne vous inquiétez pas, nous l'ajouterons bientôt!Ensuite, j'ai ajouté en
google-play-services_lib
tant que dépendance de module au lieu d'une dépendance de bibliothèque. Ensuite, j'ai appuyé plusieurs fois sur le bouton fléché vers le haut en bas pour déplacer cette dépendance en haut de la liste. Mais remarquez l'erreur en bas (nous n'avons toujours pas fini!)J'ai ensuite cliqué sur l'ampoule en bas de la boîte de dialogue dans la zone de message d'erreur pour faire apparaître cette petite petite fenêtre contextuelle qui donne deux choix ( Ajouter aux dépendances ... ou Supprimer la bibliothèque ). Cliquez sur l' option Ajouter aux dépendances ... !
Une nouvelle petite fenêtre de dialogue aurait dû apparaître. Cela m'a donné deux choix, un pour mon projet principal (son nom est flou), et un autre pour le
google-play-services_lib
projet. Le vôtre peut en avoir beaucoup plus en fonction de votre projet (comme vous pouvez le voiractionbarsherlock
, des trucs comme ça). Sélectionnezgoogle-play-services_lib
et cliquez sur OK!Et enfin, vous avez terminé! J'espère que cela aide quelqu'un d'autre là-bas!
Plus d'infos
Je pense que la raison pour laquelle ce problème se produisait au début est parce que je pensais avoir correctement inclus l'ensemble du
google-play-services_lib
projet dans mon projet global ... mais je ne l'avais pas fait, et au lieu de cela, j'avais seulement correctement inclus son fichier jar (google-play-services_lib/libs/google-play-services.jar
). Ce fichier jar n'inclut que du code, pas des valeurs de ressources Android, et donc, la@integer/google_play_services_version
valeur n'a jamais vraiment été dans mon projet. Mais le code a pu être utilisé dans mon projet, ce qui donnait l'impression que tout allait bien.Et en passant, la résolution de ce problème semble également avoir corrigé le
GooglePlayServicesUtil.getErrorDialog(...).show()
crash que j'avais auparavant. Mais cela aurait également pu être corrigé par la mise à jour, pas vraiment sûr à 100%.la source
J'ai rencontré le même problème et, apparemment, Eclipse a laissé le
version.xml
fichier dans / res / values dugoogle-play-services_lib
projet d' origine tout en faisant une copie. J'ai extrait le fichier du projet d'origine et l'ai collé dans ma copie du projet et le problème est résolu.la source
Sur Eclipse, après avoir importé la bibliothèque google play dans l'espace de travail du projet, je viens de copier le fichier version.xml de
à
la source
version.xml
fichier à chaque mise à niveau.À toute personne utilisant gradle: n'incluez pas la source du projet, mais téléchargez-la à l'aide du gestionnaire SDK et ajoutez cette ligne aux dépendances:
la source
compile 'com.google.android.gms:play-services:4.1.32@aar'
à votrebuild.gradle
.@integer/google_play_services_version
sera disponible.la source
Dès le départ, vous avez l'impression que votre projet est connecté à une ancienne version du projet de bibliothèque Play Services. L'approche recommandée par Google consiste à rechercher le projet de bibliothèque dans le SDK et à en faire une copie locale. Cela signifie cependant que chaque fois que vous mettez à jour le projet de bibliothèque Play Services via le SDK Manager, vous devez également remplacer votre copie par une nouvelle copie.
la source
J'ai également rencontré cela en essayant d'utiliser google_play_services_froyo.
J'ai déposé ce bogue: https://code.google.com/p/google-plus-platform/issues/detail?id=734
la source
après la mise à jour de la dernière version, j'ai eu ce problème avec tous mes projets, mais il a été résolu en ajoutant à nouveau la référence de la bibliothèque:
si vous n'avez pas la bibliothèque dans votre espace de travail dans Eclipse, vous pouvez l'ajouter avec:
File
->Import
->Existing Android Code Into Workspace
-> parcourir et naviguer vers legoogle-play-services_lib
projet lib, (android-sdk/extras/google/google_play_services/libproject
).puis en supprimant
/bin
et les/gen
dossiers de mon projet (quelque chose de similaire à l'option propre) et en construisant à nouveau mon projet.la source
Résolu pour Eclipse
Suivez les étapes suivantes:
la source
google-play-services_lib
dansF:\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib
Le site Google pour les développeurs Android contient des instructions sur la façon d '«ajouter des services Google Play à votre projet», ainsi que sur la mise à niveau de la version des services Play. Il existe même un menu déroulant pour afficher les instructions pour Eclipse, Android Studio ou "Quelque chose d'autre". Ce serait le meilleur endroit pour afficher les instructions au cas où elles changeraient. La page est ici:
http://developer.android.com/google/play-services/setup.html
Mais comme la plupart des réponses ici concernent Eclipse, voici un bref résumé de la mise à niveau des services Play avec Android Studio
Vous pouvez trouver le numéro de version de la version de play-services que vous avez téléchargée sur votre machine de développement en consultant votre dossier \ sdk \ extras \ google \ m2repository \ com \ google \ android \ gms \ play-services, comme expliqué ici : Comment faire correspondre une révision des services Google Play avec une version d'installation?
la source
Pour Eclipse, je viens d'ajouter une référence de projet à google-play-services_lib dans:
Propriétés-Android Dans le volet Bibliothèque (volet inférieur), assurez-vous que google-play-services_lib est répertorié. Sinon, cliquez sur le bouton Ajouter .. et sélectionnez google-play-services_lib.
la source
J'ai eu le même problème, le fichier version.xml n'était pas dans google-play-services_lib. Démarrez simplement votre gestionnaire de sdk et acceptez la mise à jour en particulier les choses liées aux "extras".
la source
Lors de l'importation de google-play-services_lib, vérifiez le code de version défini dans AndroidManifest.xml et version.xml. J'avais trouvé la différence dans le code de version et l' ai changé en 4242000 . Une fois le changement effectué, il n'y a plus d'erreur de compilation dans @ integer / google_play_services_version .
la source
Corrigé en ajoutant les services Google Play à mon module: fichier de création de gradle d'application. La documentation indique également de mettre à jour la version lorsque vous mettez à jour GMS.
la source
Voici les principales actions qui éviteront de nombreuses erreurs lors de l'utilisation du service Google play Lib:
la source
J'ai eu le même problème avec un projet utilisant Maven et IntelliJ. Les services Google Play sont ajoutés en tant que dépendance maven. La construction maven fonctionnait bien à partir de la ligne de commande, mais IntelliJ s'est plaint de ce symbole manquant
@integer/google_play_services_version
Dans mon cas, j'ai forcé une mise à jour des fichiers maven POM et cela a résolu le problème.
la source
Dans mon cas, j'avais besoin de copier le FOLDER google-play-services_lib dans le même DRIVE des codes sources de mes applications
la source
Lorsque vous n'utilisez pas d'EDI, mais que vous utilisez des versions de ligne de commande (en utilisant ant et ndk-build), voici comment le résoudre:
Installez toutes les pièces requises avec la commande «android». Ensuite, ayez une copie de google-play-service_lib / dans la racine de votre projet. Modifiez project.properties pour inclure cette ligne:
la source
android update project -p . -t android-22
d'google-play-services_lib
abord. De manière équivalente, ajoutez<property name="android.library.reference.1" value="./google-play-services_lib"/>
à votrebuild.xml
(j'ai minimisé monbuild.xml
et abandonné le.properties
).J'ai eu le même problème. Le problème était que le "google-play-services.jar" n'était pas correctement importé dans mon projet, même s'il faisait partie du projet google_play_service_lib. Si vous utilisez Eclipse, veuillez vérifier et voir si vous pouvez voir le fichier jar des services de lecture dans la section Bibliothèques privées Android et s'il est exporté par la bibliothèque.
J'utilise les outils de la plate-forme Android SDK version 17 (et non 19) et les outils Android SDK version 22.0.1
la source
Je viens de mettre à jour les services Google Play dans le dossier Extras dans Android SDK Manager
la source
Le problème pour moi était que le projet de bibliothèque et le projet utilisant les services de lecture se trouvaient dans des répertoires différents. Alors juste:
la source
Google suggère de ne pas créer de projet directement à partir du répertoire SDK. Il est préférable de copier le projet lib à l'emplacement où se trouve votre application, puis de l'importer à partir de là. Sinon, la prochaine fois que vous importerez le projet pour une autre application, il sera déjà utilisé.
https://developer.android.com/google/play-services/setup.html
la source
Quiconque cherche en 2017, la version 10.0.1 des services de jeu nécessite une importation
play-services-basement
(utilisée pour être dansplay-services-base
).la source
Android Studio 3.3.2 sous Windows 10
Fichier -> Invalidate Caches / Restart et choisissez le
invalidate and Restart
bouton dans la boîte de dialogue qui est apparu.la source
J'ai eu le même problème, ajoutez cette ligne 2 dans votre build.gradle le problème sera probablement résolu. ;)
la source