J'ai une application qui utilise l'API Google Maps Android v2. J'ai ajouté le google-play-services_lib
projet de bibliothèque à mon espace de travail et ajouté une référence à celui-ci à partir de mon projet d'application, en suivant les instructions sur ces pages:
- http://developer.android.com/google/play-services/setup.html .
- https://developers.google.com/maps/documentation/android/start
Tout semble bien fonctionner: l'application affiche des cartes et des superpositions avec les marqueurs par défaut. Je suis donc presque sûr d'avoir correctement configuré les services Google Play et l'API Google Maps.
Cependant, je vois ce message dans la fenêtre ADT LogCat chaque fois que la vue de la carte est initialisée (sur un Nexus 7 de 2e génération):
The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
Le niveau de message est Erreur et la balise est GooglePlayServicesUtil
.
Cela semble bénin, car mon application fonctionne bien. Mais que puis-je faire ou vérifier pour essayer de résoudre le problème?
Plus d'informations: Chaque fois que le message "Les ressources des services Google Play sont introuvables" apparaît dans LogCat, il est précédé de ces messages, qui sont des avertissements et étiquetés ResourceType
:
getEntry failing because entryIndex 906 is beyond type entryCount 3
Failure getting entry for 0x7f0b038a (t=10 e=906) in package 0 (error -2147483647)
FWIW, je ne trouve nulle part la constante 0x7f0b038a lorsque je recherche les projets, y compris les fichiers gen / R.java.
J'ai vérifié le contenu du fichier .apk généré, et il inclut toutes les ressources qui se trouvent dans le google-play-services_lib/res
répertoire.
Une autre mise à jour: Après avoir ajouté ActionBarSherlock et mis à jour la targetSdkVersion dans mon manifeste de 8 à 17, je vois maintenant une autre erreur dans la sortie LogCat:
Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a'
Plus de détails sur ce problème peuvent être trouvés ici: Google Maps fonctionne bien sur Android mais je reçois toujours une erreur "Impossible de trouver la classe 'maps.i.k', référencée à partir de la méthode maps.z.ag.a"
Et encore une fois, l'application semble très bien fonctionner. Peut-être est-il prudent d'ignorer ces "erreurs"?
la source
Project > Clean
). J'ai remarqué que cela résout parfois les problèmes de R.java/resource.Réponses:
Il s'agit d'un bogue dans la bibliothèque des services Google Play, et il est classé ici sous le numéro 755 .
Malheureusement, il n'y a pas encore de solution.
la source
La FAQ du SDK Google Mobile Ads indique que:
Donc, si vous avez correctement inclus google-play-services_lib et que vous recevez des publicités, vous n'avez rien à craindre (je suppose ...)
la source
Je viens de rencontrer ce problème ce matin et semblait très étrange car mon application fonctionnait bien jusqu'à aujourd'hui. J'obtenais exactement le même message "Les ressources des services Google Play sont introuvables ...".
J'ai essayé d'ouvrir l'application Google Maps standard pour voir si je pouvais obtenir ma position, mais elle ne l'a pas trouvée. Même après avoir attendu 5 minutes, ce qui est plus que suffisant pour obtenir normalement une position du fournisseur de services via la tour de téléphonie mobile. J'ai donc vérifié les services de localisation.
Quoi qu'il en soit, le problème s'est avéré être sur mon S3 sous Services de localisation -> Services de localisation Google . Cela n'a pas été vérifié. Les deux autres options de localisation ont été vérifiées ( VZW Location Services et Standalone GPS Services ), mais la dernière, Google Location Services ne l'a pas été. Après avoir activé cette fonction, Google Maps standard pourrait trouver ma position et mon application pourrait trouver ma position et le problème a disparu.
Le message d'erreur apparaît en raison de:
lorsque les services de localisation Google ne sont pas activés.
Après avoir effectué quelques tests supplémentaires, il semble que si l'emplacement actuel est nul (ne peut pas être déterminé à partir de toutes les sources), vous obtiendrez cette erreur lorsque vous essayez d'activer setMyLocationEnabled.
la source
J'ai décompilé la bibliothèque de révision 14 des services Google Play. Je pense qu'il y a un bug
com.google.android.gms.common.GooglePlayServicesUtil.class
. La chaîne susmentionnée n'apparaît qu'à un seul endroit:Il n'y
R.class
en a pas dans lecom.google.android.gms.common
paquet.Il y a un
import com.google.android.gms.R.string;
, mais pas d'utilisation destring.something
, donc je suppose que c'est l'erreur - il devrait y en avoirimport com.google.android.gms.R;
.Néanmoins, la
isGooglePlayServicesAvailable
méthode fonctionne comme prévu (à l'exception de la journalisation de cet avertissement), mais il existe d'autres méthodes dans cette classe, qui utilise non importéR.class
, il peut donc y avoir d'autres erreurs. Bien que les bannières dans mon application fonctionnent bien ...la source
Vous devez ajouter le en
google-play-services-lib
tant que projet de bibliothèque. Ils ont mis à jour le SDK . Il existe plusieurs didacticiels. Pour Eclipse, c'est simple:Pour des procédures plus détaillées:
Importation du projet de bibliothèque
Comment faire fonctionner GoogleMaps sur l'émulateur
la source
J'avais aussi ce problème. La façon dont je l'ai résolu était la suivante:
android-sdk-x/extras/google_play_services/libproject
. Lorsque vous importez un projet, vous obtenez l'option "Copier le projet dans l'espace de travail". DÉCHECQUEZ-LE.Cela a fait l'affaire pour moi. J'espère que ça vous aide aussi!
la source
Je rencontre ce problème lorsque j'utilise Admob JUST car j'ai oublié d'écrire mon ID de bloc d'annonces dans
@string
.la source
J'ai eu le même problème. Dans la console Google API, vous devez vérifier qu'il n'y a qu'une seule clé générée pour cette application. J'ai eu un tronçon où j'ai migré mon code d'un PC à l'autre et ainsi de suite (c'est devenu compliqué), et j'avais plusieurs clés pour mon seul projet. Les anciennes clés sont toutes répertoriées comme inactives sur la page de la console API, mais pour une raison quelconque, elles ont provoqué un conflit. Après les avoir supprimés complètement, je l'ai relancé et cela a fonctionné.
la source
Quant à moi, j'ai résolu ce problème par la voie suivante - comme le dit developer.android.com, après avoir ajouté google-play-services_lib, vous devez ajouter
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
votre manifeste, mais sur le nouveau SDK, vous obtiendrez toujours une erreur:Pour résoudre cette erreur, de nombreuses personnes conseillent d'utiliser une valeur brute, 4030500 , au lieu de
@integer/google_play_services_version
, mais elle est correcte UNIQUEMENT pour la révision 13 des services Google.Si vous utilisez une version plus ancienne ou une version pour Froyo (comme moi), vous devez y mettre une autre valeur. Pour savoir quelle valeur vous devez mettre, ouvrez simplement un manifeste des services Google Play et copiez-collez une valeur version_code. Pour les services Froyo, il s'agit du 3265130 . Après avoir ajouté cela, j'ai cessé de recevoir cette erreur et j'ai enfin commencé à recevoir des coordonnées dans mon application.
la source
Pour moi, la seule solution de travail était d' ajouter également la bibliothèque android-support-v7-appcompat . Il semble que cette bibliothèque soit également nécessaire pour se débarrasser de ce message. Depuis lors, mes applications fonctionnent bien!
J'espère que ça aide!
la source
J'ai eu le même problème ici. Comme Magnus l'a dit ci-dessus, cela se produisait à cause d'une mise à jour du SDK vers la version 22.0.5.
Après avoir effectué une mise à jour complète dans mon SDK Android (y compris les services Google Play) et les plugins Android dans Eclipse , j'ai pu utiliser la bibliothèque de services de jeu dans mon application.
la source
Pour les utilisateurs d' IntelliJ IDEA
Après avoir lutté pendant quelques jours, la seule façon de le faire fonctionner dans IntelliJ IDEA 13 était d'importer la bibliothèque. Voici toutes les étapes:
android-sdk-root/extras/google/google_play_services/libproject
répertoire.google-play-services_lib
et collez-le à côté de votre projet IntelliJ IDEA (certains recommandent d'utiliser directement ce répertoire, mais je conseille de garder ce code propre!).google-play-services_lib
.google-play-services_lib
projet de bibliothèque en tant que dépendance au projet principal.google-play-services
bibliothèque en tant que bibliothèque de dépendances.Sur le lien que j'ai fourni ci-dessous, vous pouvez voir une image de son apparence dans mon IntelliJ IDEA 13. Cela ne fonctionnerait pas sans ajouter un seul de ces deux.
PS. J'ai posé une question, pourquoi IntelliJ IDEA 13 nécessite-t-il que le projet lib et la bibliothèque elle-même (google-play-service) soient ajoutés en tant que dépendance? , pourquoi est-ce un must dans IntelliJ IDEA 13, et pourquoi nous ne pouvons pas importer uniquement la bibliothèque ou le projet.
la source
Java
,Maven
,Gradle
,JavaFX Application
,Command Line App
,Groovy
,Griffon
,Gradle: Android Module
,Gradle: Android Project
,Gradle: Java Library
). Et puis en sélectionnant un dossier dans le champContent root
. Est-ceJava
le bon type de module à choisir?J'ai aussi eu le même problème. Au début, cela fonctionnait bien alors, mais quelque temps plus tard, j'ai désinstallé complètement mon application de mon appareil (je l'exécutais sur mon mobile) et l'ai exécutée à nouveau, et cela me montre la même erreur.
J'avais toutes les bibliothèques et les ressources incluses car cela fonctionnait, mais j'obtenais toujours cette erreur, j'ai donc supprimé toutes les références et la bibliothèque de la construction de mon projet, mis à jour le service google vers la révision 10, désinstallé complètement l'application de l'appareil, puis ajouté à nouveau tout les ressources et les bibliothèques et l'ont exécuté et il a recommencé à fonctionner.
Une chose à noter ici est que pendant l'exécution, je vois toujours ce message d'erreur dans mon LogCat , mais sur mon appareil, cela fonctionne bien maintenant.
la source
J'ai également eu le même problème. J'ai également essayé de rechercher des solutions, mais après n'avoir trouvé aucune solution, j'ai essayé de redémarrer mon mobile (appareil Android) et cela a résolu le problème.
Veuillez l'essayer! Redémarrez votre appareil mobile et Eclipse pour être du bon côté et vérifiez si cela fonctionne.
la source
Pour moi, la suppression du code suivant l'a corrigé!
la source
LE: Je viens de me rappeler qu'il s'agissait d'utiliser Google Maps, donc ma réponse ne répond pas vraiment à la question initiale, mais j'espère que certaines personnes gagneront des heures / jours à se cogner la tête sur leur bureau si elles ont le même problème avec Play Game Services .
Moi aussi, j'ai eu cette erreur incroyablement cryptique. Ce n'était pas quelque chose lié aux services de localisation pour moi, mais avec une mauvaise lecture de la documentation , plus précisément l'étape 3, où il est dit d'ajouter ce qui suit à votre
AndroidManifest.xml
:Vous devriez évidemment aussi avoir les éléments suivants dans
AndroidManifest.xml
J'utilisais ce
BaseGameActivity
qu'ils suggèrent d'utiliser lorsque vous souhaitez implémenter des services de jeu, donc j'ai été un peu surpris que cela ne fonctionne pas tout de suite. J'ai créé un module dédié pour une copie degoogle-play-services_lib
, j'avais la dernière version de celui-ci (au4323000
moment de l'écriture) et je l'ai défini comme une dépendance de module à mon module principal (en utilisant Android Studio ici). Mais cette petite ligne au-dessus a tout arrangé.la source
J'ai eu le même problème. Comme l'a dit Kristopher Johnson, j'ai référencé google-play-services_lib, mais cela n'a pas fonctionné. J'ai ajouté google_play_services_lib.jar (regardez votre dossier SDK / google) sous les propriétés du projet / chemin de construction java / bibliothèques / dépendances android et l'erreur a disparu.
la source
J'ai eu exactement le même problème lorsque je travaillais avec plusieurs développeurs. Si je lance le projet à partir de mon ADT, cela fonctionne bien, mais pas du leur.
La réponse a été de mettre leur clé SHA-1 avec le nom du package dans la console API Google ainsi que la mienne. Nous sommes trois développeurs, nous devions donc mettre trois clés SHA-1.
J'espère que cela vous donne de l'inspiration ...
la source
Dans mon cas, cela signifiait qu'il y avait une sorte d'erreur dans mon implémentation, et il disait qu'il ne pouvait pas trouver la ressource pour que le message d'erreur soit correctement affiché dans LogCat . Lorsque j'ai corrigé cette erreur dans mon implémentation, le problème de LogCat avait également disparu. Donc, à moins que vous ne manquiez de ressources vraiment nécessaires, vous ne devez pas vous concentrer pour corriger les ressources manquantes, mais plutôt corriger votre implémentation.
L'erreur, BTW, était que je diffusais des annonces en mode débogage sans passer en mode test des annonces.
la source
Je pense qu'il s'agit d'un bogue dans la bibliothèque actuelle des services Google Play, révision 15, car la cause sous-jacente semble être causée par l'échec de la lecture d'un fichier de ressources:
Il semble que la bibliothèque des services Google Play tente de lire un fichier de ressources et possède un fourre-tout générique qui affiche ce message d'erreur lorsque la ressource ne parvient pas à se charger. Cela correspond à ce que kreker a réussi à décompiler à partir de la bibliothèque et expliquerait les messages du journal.
la source
Vous savez, je ne pense pas que ce soit un bug de sdk. "Les ressources des services Google Play sont introuvables. Vérifiez la configuration de votre projet pour vous assurer que les ressources sont incluses". Le fichier jar inséré dans vos / libs ne contient aucune ressource comme * xml, * png etc. Les journaux d'erreurs signifient cela. Et si vos bibliothèques de support jamais ajoutées comme v4 , v7-appcompat , v7-cardview , v7-recyclerview , v7-pallete ou v7-gridlayout , parfois des journaux qui impliquent que les ressources sont en bref se produisent. Tout cela parce que les ressources des projets ne sont pas importées. Donc, importez les projets de support en tant que bibliothèque ASAP. Bien sûr, vous téléchargez d'abord ces projets de support via SDK Managerà la pièce des extras
la source
J'ai eu le même problème que j'ai créé ma propre API pour vérifier si le service Google Play est installé ou non, cela fonctionne bien pour moi. Il suffit de transmettre les informations sur le package du service google play, cela vous donnera la valeur
ci-dessous est le code:
la source