Ich habe eine Anwendung, die die Google Maps Android v2-API verwendet. Ich habe das google-play-services_lib
Bibliotheksprojekt zu meinem Arbeitsbereich hinzugefügt und einen Verweis aus meinem Anwendungsprojekt hinzugefügt. Befolgen Sie dazu die Anweisungen auf diesen Seiten:
- http://developer.android.com/google/play-services/setup.html .
- https://developers.google.com/maps/documentation/android/start
Alles scheint gut zu funktionieren: Die App zeigt Karten und Überlagerungen mit den Standardmarkierungen an. Ich bin mir also ziemlich sicher, dass ich die Google Play-Dienste und die Google Maps-API richtig eingerichtet habe.
Diese Meldung wird jedoch im ADT LogCat-Fenster angezeigt, wenn die Kartenansicht initialisiert wird (auf einem Nexus 7 der 2. Generation):
The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
Die Nachrichtenebene ist Fehler und das Tag ist GooglePlayServicesUtil
.
Dies scheint harmlos zu sein, da meine App gut funktioniert. Aber was kann ich tun oder überprüfen, um das Problem zu beheben?
Weitere Informationen: Jedes Mal, wenn die Meldung "Google Play-Dienstressourcen wurden nicht gefunden" in LogCat angezeigt wird, werden diese Meldungen mit Warnungen und Tags vorangestellt 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, ich kann die Konstante 0x7f0b038a nirgendwo finden, wenn ich die Projekte durchsuche, einschließlich der gen / R.java-Dateien.
Ich habe den Inhalt der generierten APK überprüft und sie enthält alle Ressourcen, die sich im google-play-services_lib/res
Verzeichnis befinden.
Ein weiteres Update: Nachdem ich ActionBarSherlock hinzugefügt und die targetSdkVersion in meinem Manifest von 8 auf 17 aktualisiert habe, wird jetzt ein weiterer Fehler in der LogCat-Ausgabe angezeigt:
Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a'
Weitere Details zu diesem Problem finden Sie hier: Google Maps funktioniert unter Android einwandfrei, aber ich erhalte immer noch die Fehlermeldung "Die Klasse 'maps.i.k', auf die von der Methode maps.z.ag.a verwiesen wird, konnte nicht gefunden werden."
Und wieder einmal scheint die App gut zu funktionieren. Vielleicht ist es sicher, diese "Fehler" zu ignorieren?
quelle
Project > Clean
) zu bereinigen . Ich habe festgestellt, dass dies manchmal Probleme mit R.java/resource behebt.Antworten:
Dies ist ein Fehler in der Google Play-Dienstbibliothek, der hier unter Ausgabe 755 abgelegt wird .
Leider gibt es noch keine Lösung.
quelle
In den häufig gestellten Fragen zum SDK von Google Mobile Ads heißt es:
Wenn Sie also die google-play-services_lib korrekt eingefügt haben und Anzeigen erhalten, müssen Sie sich keine Sorgen machen (ich denke ...)
quelle
Ich bin heute Morgen auf dieses Problem gestoßen und schien sehr seltsam, da meine Anwendung bis heute einwandfrei funktioniert hat. Ich erhielt genau die gleiche Meldung "Die Ressourcen der Google Play-Dienste wurden nicht gefunden ...".
Ich habe versucht, die reguläre Google Maps-Anwendung zu öffnen, um festzustellen, ob ich meinen Standort ermitteln kann, aber er wurde nicht gefunden. Selbst nach 5 Minuten Wartezeit ist dies mehr als genug Zeit, um normalerweise selbst vom Dienstanbieter über den Mobilfunkmast einen Standort zu erhalten. Also habe ich Location Services überprüft.
Wie auch immer, das Problem stellte sich auf meinem S3 unter Standortdienste -> Google Standortdienste heraus . Es wurde nicht überprüft. Die beiden anderen Standortoptionen wurden aktiviert ( VZW Location Services und Standalone GPS Services ), die letzte Option jedoch nicht, Google Location Services. Nach dem Aktivieren konnte das normale Google Maps meinen Standort finden und meine Anwendung konnte meinen Standort finden und das Problem wurde behoben.
Die Fehlermeldung wird angezeigt, weil:
wenn Google Location Services nicht aktiviert ist.
Nach weiteren Tests sieht es so aus, als ob der aktuelle Speicherort null ist (nicht aus allen Quellen ermittelt werden kann). Wenn Sie versuchen, setMyLocationEnabled zu aktivieren, wird dieser Fehler angezeigt.
quelle
Ich habe die Bibliothek der Google Play Services Revision 14 dekompiliert. Ich denke, es gibt einen Fehler
com.google.android.gms.common.GooglePlayServicesUtil.class
. Die oben genannte Zeichenfolge wird nur an einer Stelle angezeigt:Es gibt keine
R.class
in -com.google.android.gms.common
Paket.Es gibt eine
import com.google.android.gms.R.string;
, aber keine Verwendung vonstring.something
, also denke ich, dass dies der Fehler ist - es sollte seinimport com.google.android.gms.R;
.Trotzdem
isGooglePlayServicesAvailable
funktioniert die Methode wie beabsichtigt (außer dass diese Warnung protokolliert wird), aber es gibt andere Methoden in dieser Klasse, die nicht importiert verwendenR.class
, sodass möglicherweise andere Fehler auftreten. Obwohl Banner in meiner Anwendung gut funktionieren ...quelle
Sie müssen das
google-play-services-lib
als Bibliotheksprojekt hinzufügen . Sie haben das SDK aktualisiert . Es gibt mehrere Tutorials. Für Eclipse ist es einfach:Für detailliertere exemplarische Vorgehensweisen:
Bibliotheksprojekt importieren
So bringen Sie GoogleMaps auf dem Emulator zum Laufen
quelle
Ich hatte auch dieses Problem. Ich habe es folgendermaßen gelöst:
android-sdk-x/extras/google_play_services/libproject
. Wenn Sie ein Projekt importieren, erhalten Sie die Option "Projekt in Arbeitsbereich kopieren". PRÜFEN SIE ES.Das hat den Trick für mich getan. Ich hoffe es hilft dir auch!
quelle
Dieses Problem tritt auf, wenn ich Admob NUR verwende, weil ich vergessen habe, meine Anzeigenblock-ID einzutragen
@string
.quelle
Ich hatte das gleiche Problem. In der Google APIs-Konsole sollten Sie überprüfen, ob nur ein Schlüssel für diese App generiert wurde. Ich hatte eine Zeitspanne, in der ich meinen Code von einem PC auf den nächsten migrierte und so weiter (es wurde chaotisch) und mehrere Schlüssel für mein einziges Projekt hatte. Die älteren Schlüssel werden alle auf der API-Konsolenseite als inaktiv aufgeführt, haben jedoch aus irgendeinem Grund einen Konflikt verursacht. Nachdem ich sie vollständig gelöscht hatte, ließ ich es erneut laufen und es funktionierte.
quelle
Ich habe dieses Problem auf folgende Weise gelöst: Wie developer.android.com sagt, sollten Sie nach dem Hinzufügen von google-play-services_lib
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
in Ihr Manifest einfügen, aber im neuen SDK wird immer eine Fehlermeldung angezeigt:Um diesen Fehler zu beheben , empfehlen viele Benutzer , anstelle des Rohwerts 4030500 den Rohwert 4030500 zu verwenden. Dies
@integer/google_play_services_version
gilt jedoch NUR für die Version 13 der Google-Dienste.Wenn Sie eine ältere Version oder Version für Froyo verwenden (wie ich), sollten Sie einen anderen Wert hinzufügen. Um zu wissen, welchen Wert Sie setzen sollten, öffnen Sie einfach ein Google Play-Dienstmanifest und kopieren Sie einen version_code-Wert. Für Froyo-Dienste ist es 3265130 . Nachdem ich dies hinzugefügt habe, wird dieser Fehler nicht mehr angezeigt, und ich habe endlich begonnen, Koordinaten in meiner Anwendung zu erhalten.
quelle
Für mich war die einzige funktionierende Lösung, die android-support-v7-appcompat-Bibliothek hinzuzufügen . Es scheint, dass diese Bibliothek auch benötigt wird, um diese Nachricht loszuwerden. Seitdem funktionieren meine Anwendungen einwandfrei!
Ich hoffe, es hilft!
quelle
Ich hatte hier das gleiche Problem. Wie Magnus oben sagte, geschah dies für mich aufgrund eines SDK-Updates auf Version 22.0.5.
Nachdem ich ein vollständiges Update in meinem Android SDK (einschließlich Google Play Services) und Android-Plugins in Eclipse durchgeführt hatte , konnte ich Play Services Lib in meiner Anwendung verwenden.
quelle
Für IntelliJ IDEA- Benutzer
Nachdem Sie einige Tage lang Probleme hatten, bestand die einzige Möglichkeit, es in IntelliJ IDEA 13 zum Laufen zu bringen, darin, die Bibliothek zu importieren. Hier sind alle Schritte:
android-sdk-root/extras/google/google_play_services/libproject
Verzeichnis.google-play-services_lib
und fügen Sie es neben Ihrem IntelliJ IDEA-Projekt ein (einige empfehlen, dieses Verzeichnis direkt zu verwenden, aber ich empfehle, diesen Code sauber zu halten!).google-play-services_lib
.google-play-services_lib
dem Hauptprojekt ein Bibliotheksprojekt als Abhängigkeit hinzu.google-play-services
Bibliothek auch als Abhängigkeitsbibliothek hinzu.Unter dem unten angegebenen Link sehen Sie ein Bild davon, wie es in meiner IntelliJ IDEA 13 aussieht. Ohne das Hinzufügen nur eines dieser beiden Links würde es nicht funktionieren.
PS. Ich stellte die Frage: Warum muss für IntelliJ IDEA 13 sowohl lib project als auch lib selbst (google-play-service) als Abhängigkeit hinzugefügt werden? , warum ist es ein Muss in IntelliJ IDEA 13 und warum können wir weder die Bibliothek noch das Projekt nur importieren.
quelle
Java
,Maven
,Gradle
,JavaFX Application
,Command Line App
,Groovy
,Griffon
,Gradle: Android Module
,Gradle: Android Project
,Gradle: Java Library
). Und dann einen Ordner im Feld auswählenContent root
. IstJava
der richtige Modultyp zu wählen?Ich hatte auch das gleiche Problem. Am Anfang funktionierte es dann einwandfrei, aber einige Zeit später habe ich meine Anwendung vollständig von meinem Gerät deinstalliert (ich habe sie auf meinem Handy ausgeführt) und erneut ausgeführt, und es zeigt mir den gleichen Fehler.
Ich hatte alle Bibliotheken und Ressourcen enthalten, während es funktionierte, aber ich bekam immer noch diesen Fehler, also entfernte ich alle Referenzen und Bibliotheken aus meinem Projekt-Build, aktualisierte Google Service Play auf Revision 10, deinstallierte die Anwendung vollständig vom Gerät und fügte dann wieder alle hinzu Ressourcen und Bibliotheken und lief es und es begann wieder zu funktionieren.
Eine Sache, die Sie hier beachten sollten, ist, dass während der Ausführung immer noch diese Fehlermeldung in meinem LogCat angezeigt wird , aber auf meinem Gerät funktioniert sie jetzt einwandfrei .
quelle
Ich hatte auch das gleiche Problem. Ich habe auch versucht, nach Lösungen zu suchen, aber nachdem ich keine funktionierende Lösung gefunden hatte, habe ich versucht, mein Handy (Android-Gerät) neu zu starten, und das Problem wurde behoben.
Bitte probieren Sie es aus! Starten Sie Ihr Mobilgerät und Eclipse neu , um auf der sicheren Seite zu sein, und prüfen Sie, ob es funktioniert.
quelle
Für mich hat das Löschen des folgenden Codes das Problem behoben!
quelle
LE: Ich habe mich gerade daran erinnert, dass es um die Verwendung von Google Maps ging, daher beantwortet meine Antwort die ursprüngliche Frage nicht wirklich, aber ich hoffe, dass einige Leute Stunden / Tage sparen, wenn sie das gleiche Problem mit Play Game Services haben .
Ich hatte auch diesen unglaublich kryptischen Fehler. Für mich hatte das nichts mit Ortungsdiensten zu tun, aber da ich die Dokumentation nicht richtig gelesen habe , genauer gesagt in Schritt 3, in dem Folgendes angegeben ist
AndroidManifest.xml
: Fügen Sie Folgendes hinzu :Sie sollten natürlich auch folgendes in haben
AndroidManifest.xml
Ich habe das verwendet, was
BaseGameActivity
sie vorschlagen, wenn Sie Spieldienste implementieren möchten, daher war ich etwas überrascht, dass es nicht sofort funktioniert hat. Ich habe ein dediziertes Modul für eine Kopie von erstelltgoogle-play-services_lib
, ich hatte die neueste Version davon (4323000
zum Zeitpunkt des Schreibens) und ich habe dies als Modulabhängigkeit zu meinem Hauptmodul festgelegt (hier mit Android Studio). Aber diese kleine Linie oben hat alles repariert.quelle
Ich hatte das gleiche Problem. Wie Kristopher Johnson sagte, habe ich auf google-play-services_lib verwiesen, aber es hat nicht funktioniert. Ich habe google_play_services_lib.jar (siehe SDK / google-Ordner) unter Projekteigenschaften / Java-Build-Pfad / Bibliotheken / Android-Abhängigkeiten hinzugefügt und Fehler sind verschwunden.
quelle
Ich hatte genau das gleiche Problem bei der Arbeit mit mehreren Entwicklern. Wenn ich das Projekt von meinem ADT aus starte , funktioniert es gut, aber von ihrem ist es nicht ..
Die Antwort war, ihren SHA-1- Schlüssel mit dem Paketnamen in die Google API-Konsole sowie in meinen zu setzen. Wir sind drei Entwickler, also mussten wir drei SHA-1-Schlüssel eingeben.
Ich hoffe es gibt dir Inspiration ...
quelle
In meinem Fall bedeutete dies, dass meine Implementierung einen Fehler enthält und dass die Ressource für die Fehlermeldung, die in LogCat ordnungsgemäß angezeigt werden soll, nicht gefunden werden kann . Als ich diesen Fehler in meiner Implementierung behoben habe, war auch das Problem von LogCat verschwunden. Wenn Sie also keine wirklich notwendige Ressource vermissen, sollten Sie sich nicht darauf konzentrieren, die fehlenden Ressourcen zu reparieren, sondern Ihre Implementierung zu reparieren.
Der Fehler war übrigens, dass ich Anzeigen im Debug-Modus geschaltet habe, ohne in den Werbetestmodus zu wechseln.
quelle
Ich glaube, dass dies ein Fehler in der aktuellen Google Play Services-Bibliothek, Version 15, ist, da die zugrunde liegende Ursache anscheinend darin liegt, dass eine Ressourcendatei nicht gelesen wurde:
Es scheint, dass die Google Play Services-Bibliothek versucht, eine Ressourcendatei zu lesen, und über einen allgemeinen Sammelbegriff verfügt, der diese Fehlermeldung anzeigt, wenn die Ressource nicht geladen werden kann. Dies entspricht dem, was Kreker aus der Bibliothek dekompilieren konnte und würde die Protokollnachrichten erklären.
quelle
Weißt du, ich glaube nicht, dass es ein Fehler von SDK ist. "Die Ressourcen der Google Play-Dienste wurden nicht gefunden. Überprüfen Sie Ihre Projektkonfiguration, um sicherzustellen, dass die Ressourcen enthalten sind" ist genau richtig. Die JAR-Datei, die in Ihre / libs gestellt wird, enthält keine Ressourcen wie * xml, * png usw. Die Fehlerprotokolle bedeuten dies. Und wenn Ihre jemals hinzugefügten Support-Bibliotheken wie v4 , v7-appcompat , v7-cardview , v7-recyclerview , v7-pallete oder v7-gridlayout manchmal Protokolle enthalten, die darauf hindeuten , dass die Ressourcen kurz sind. All dies liegt daran, dass Ressourcen in Projekten nicht importiert werden. Importieren Sie Support-Projekte so schnell wie möglich als Bibliothek. Natürlich laden Sie diese Support-Projekte zunächst herunter SDK-Managerbei den Extras
quelle
Ich hatte das gleiche Problem, bei dem ich eine eigene API erstellt habe, um zu überprüfen, ob der Google Play-Dienst installiert ist oder nicht. Er funktioniert für mich einwandfrei. Geben Sie einfach die Paketinformationen des Google Play-Dienstes weiter, damit Sie den Wert erhalten
unten ist der Code:
quelle