Hinzufügen der Version der Google Play-Dienste zum Manifest Ihrer App?

88

Ich folge diesem Tutorial: https://developers.google.com/maps/documentation/android/start#overview zum Hinzufügen von Google Maps zu einer App im Android SDK.

Das einzige Problem, das ich zu haben scheine, ist während dieses Teils (ich habe alles andere ohne Fehler gemacht):

Edit your application's AndroidManifest.xml file, and add the following declaration within the

 <application> element. This embeds the version of Google Play services that the app was compiled with.

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

The error is:
   No resources found that match the given name (at 'value' with value '@integer/    
   google_play_services_version').

Ich habe versucht, dieser Personenlösung für dasselbe Problem zu folgen: Aktualisierung der Google Play Services-Bibliothek und fehlendes Symbol @ integer / google_play_services_version

aber ich bekomme immer noch den gleichen Fehler. Hilfe bitte?

Adz
quelle
Wenn Eclipse Ihnen Probleme bereitet, versuchen Sie Folgendes
Kamil Szot

Antworten:

100

Es ist wahrscheinlich, dass Ihre Bibliothek nicht ordnungsgemäß mit dem Projekt verknüpft ist oder dass Sie eine ältere Version der Google Play-Services-Bibliothek haben, sodass Konflikte auftreten und Eclipse dumm wurde ..: S.

Nein, Sie müssen nichts in integers.xml hinzufügen. Wenn Sie die Google-Play-Services-Bibliothek ordnungsgemäß mit Ihrer Projektreferenz verknüpfen, android:value="@integer/google_play_services_version"wird sie gefunden und Sie können loslegen. Wenn Sie Ihrem Projekt eine Bibliothek hinzufügen, führen Sie einfach eine weitere saubere, so lustige Eclipse-Umgebung aus, um die Dinge richtig auszuräumen.

Wenn Sie diese Nummer bei der nächsten Spielversion irgendwo fest codieren, müssen Sie sie aktualisieren. Und wenn Sie das vergessen, werden Sie wieder Zeit damit verbringen, nach Fehlern zu suchen ..: S.

Hoffe es hat geholfen. ;)

Ewoks
quelle
1
Ja, unter Android Studio habe ich den Google Play-Dienst als Modul (nicht als Bibliothek) hinzugefügt, aber ich habe vergessen, dieses Modul meinem Projektmodul hinzuzufügen, in dem sich die Manifestdatei befindet. Dies löste das Problem :)
Ragaisis
18
Danke, das hat mein Problem behoben. Eine idiotensichere Schritt-für-Schritt-Anleitung zum Verweisen auf ein Bibliotheksprojekt in Eclipse / ADT finden Sie in den Google Tools-Dokumenten . Ich bin anscheinend ein Idiot, weil ich versucht habe, die Bibliothek unter "Java Build Path: Libraries" hinzuzufügen - kein Problem.
Jeffro
Entschuldigung für die späte Antwort, aber ja, das war das Problem, die Bibliothek war nicht richtig mit meinem Projekt verknüpft!
Adz
1
Wie macht man das für Ant?
Dzmitry Lazerka
2
Wenn es hilft, musste ich in Android Studio noch ein paar Schritte machen. Ging zu: Projektstruktur -> App -> Abhängigkeiten -> Klicken Sie auf +, um die Option für Bibliothek hinzuzufügen -> Wiedergabedienste (xxx). Ich habe beim Neuerstellen eine Fehlermeldung erhalten und die hinzugefügte Bibliothek war play-services ... 0.0. Ich habe die Google Play-Repositorys im SDK-Manager unter den Extras vermisst. Als ich zurückkam und diese Schritte wiederholte, hatte die Bibliothek jetzt eine tatsächliche Versionsnummer und wurde erfolgreich neu erstellt.
Natur3
36

Ich habe die Lösung.

  • Schritt 1: Klicken Sie im Package Explorer mit der rechten Maustaste auf Ihr Projekt (linke Seite in Eclipse).
  • Schritt 2: gehe zu Android.
  • Schritt 3: Im Abschnitt Bibliothek Bibliothek hinzufügen ... (google-play-services_lib)
    siehe unten

    • Kopieren Sie das Bibliotheksprojekt unter

    <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

    • an den Ort, an dem Sie Ihre Android-App-Projekte verwalten. Wenn Sie Eclipse verwenden, importieren Sie das Bibliotheksprojekt in Ihren Arbeitsbereich. Klicken Sie auf Datei> Importieren, wählen Sie Android> Vorhandenen Android-Code in den Arbeitsbereich aus und navigieren Sie zur Kopie des Bibliotheksprojekts, um es zu importieren.
    • Klicken Sie hier für mehr.
  • Schritt 4: Klicken Sie auf Übernehmen
  • Schritt 5: Klicken Sie auf OK
  • Schritt 6: Aktualisieren Sie Ihre App aus dem Paket-Explorer.
  • Schritt 7: Sie werden sehen, dass der Fehler behoben ist.
Vrajesh
quelle
30

Von hier aus

Sie sollten auf eine Kopie der Bibliothek verweisen, die Sie in Ihren Entwicklungsarbeitsbereich kopiert haben. Sie sollten nicht direkt aus dem Android SDK-Verzeichnis auf die Bibliothek verweisen.

Ich bin auf diesen Fehler gestoßen, weil ich auf die Originalkopie aus dem SDK-Verzeichnis verwiesen habe. Stellen Sie sicher, dass Sie die Bibliothek zuerst in den Android-Arbeitsbereich kopieren und nur darauf verweisen. In Eclipse können Sie dies tun, indem Sie beim Importieren des Projekts "Projekte in Arbeitsbereich kopieren" aktivieren.


quelle
3
aiaiai, verschwendete Stunden, weil ich dieses Kästchen nicht angekreuzt habe ... froh, dass ich diese Antwort gefunden habe! Sollte in der Google-Dokumentation klarer sein.
Marius Hilarious
Und das war mein Problem, alles wurde so referenziert, wie es sollte, außer dass der
Quellordner
Dieser Fix hat auch bei mir funktioniert. Aber fragen Sie sich, was technisch der Unterschied ist?
sivag1
Google sollte den Screenshot / die Anleitung hier aktualisieren: developer.google.com/+/mobile/android/getting-started
Ban-Geoengineering
22

In Android Studio können Sie dies beheben, indem Sie dies einfach zu Ihrer Gradle-Datei hinzufügen:

compile 'com.google.android.gms:play-services:6.5.87'

BEARBEITEN

Aufgrund von Updates und der neuen Gradle-API sollten Sie nun folgende Zeile verwenden:

implementation 'com.google.android.gms:play-services:12.0.0'

Ein weiterer wichtiger Tipp : Vermeiden Sie die Verwendung einer gebündelten Version von Google Play Services. Deklarieren Sie jedoch nur Abhängigkeiten, die Ihre App benötigt, um die Größe zu verringern und unnötige Treffer auf 65.000 Methoden zu reduzieren. So etwas wie (dh für Karten) wäre besser als die oben genannte allgemeine Nutzung von Spieldiensten:

implementation 'com.google.android.gms:play-services-maps:12.0.0'
Joaquin Iurchuk
quelle
Danke - das hat geholfen. Ich versuche dieses Tutorial zu machen und bin auf diesen Fehler gestoßen. Ihre Lösung hat mir geholfen: github.com/googledrive/android-demos
Simon
1
Ich musste das Projekt nur nach der Gradle-Synchronisierung bereinigen, und der fehlende ganzzahlige Fehler verschwand. Dies funktioniert auch gut:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
Jemand irgendwo
2
Ich weiß, dass es sich um ein altes Q / A handelt, aber die Leute stolpern immer noch darüber. Daher war es sinnvoll, es auf neue AS3- und Gradle-APIs zu aktualisieren und den Drang zu betonen, eine bestimmte Bibliothek anstelle eines ganzen Bundles zu verwenden. Ich hoffe, der ursprüngliche Autor hat nichts dagegen
Ewoks
7

Fügen Sie einfach die Bibliotheksreferenz hinzu, gehen Sie zu Propertes-> Androidund fügen Sie dann die Bibliothek hinzu.

Geben Sie hier die Bildbeschreibung ein

dann füge in dich ein AndroidManifest.xml

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

Ich hatte das gleiche Problem in Android Studio 1.2.1.1. Es war nur liske, die anderen Antworten sagten, aber ich konnte nicht finden, wo ich die Abhängigkeiten hinzufügen sollte. Schließlich fand ich es unter Datei-> Projektstruktur-> Abhängigkeiten. In diesem Menü können Sie die Abhängigkeit zur Google Play Services-Bibliothek hinzufügen.

7heViking
quelle
+1 für die Hilfe zur obskuren Navigation in AS 1.2. Danke dir! In meinem Fall half es nicht, dass ich an einem Projekt arbeitete, das von einem anderen Entwickler übergeben wurde, und nie die richtige Version der Play Services-Bibliothek mit dem SDK-Manager installiert hatte: $. Nachdem ich die Bibliothek heruntergeladen / installiert hatte, ging ich zurück und entfernte / fügte sie erneut hinzu, und der Kompilierungsfehler verschwand.
Anne Gunn
2

In meinem Fall musste ich das Google Repository vom SDK-Manager installieren.

MarcSB
quelle
1

Ich habe den gleichen Fehler bekommen; Ich hatte zuvor die google-play-services_lib für Google Maps installiert (und sie funktionierte einwandfrei), aber als ich später versuchte, den Metadateneintrag zu meinem Manifest hinzuzufügen, wurde der Fehler angezeigt. Ich habe alle oben genannten Vorschläge ausprobiert, aber nichts würde sie richtig verknüpfen. Ich habe schließlich den Link aus meinem Projekt entfernt (Projekteigenschaften-Android, Bibliothek google-play-services_lib entfernen), dann aus dem Eclipse-Arbeitsbereich entfernt, die Dateien auf der Festplatte gelöscht und schließlich den SDK-Manager verwendet, um von Grund auf neu zu installieren.

Das schien endlich den Trick zu tun; Jetzt hat Eclipse beschlossen, mir zu erlauben, den Metadateneintrag fehlerfrei zu lassen.

dgiles
quelle
Ich hatte den gleichen Fehler, die Kopie der google-play-services-Bibliothek in meinem Arbeitsbereich war alt (enthielt also keine ganzzahlige Ressource), und das Ersetzen der Bibliothek durch eine aktualisierte Version hat den Trick getan.
Bianca Daniciuc
0

Sie können den Arbeitsbereich ändern und dann das Problem beheben und das feste Projekt wieder in Ihren Hauptarbeitsbereich importieren. Auch die 4 Schritte sollten in der Hoffnung sein, dass es jemandem in der Zukunft hilft.

sivi
quelle
0

Dieser Fehler kann auch auftreten, wenn Sie eine neue Version von Google Play Services heruntergeladen und das neueste SDK nicht installiert haben. Das ist mir passiert. Wenn Sie also, wie bereits erwähnt, versuchen, Google Play Services zu importieren und dann die Konsole zu öffnen, wird ein Kompilierungsfehler angezeigt. Versuchen Sie, alle aktuellen Android-SDKs zu installieren, und versuchen Sie es in diesem Fall erneut.

UtsavShah
quelle
0

Ich habe folgende Schritte unternommen, um mich davon zu erholen:

1) Importieren Sie Google Play Services als Projekt in Ihr Android SDK. In meinem System befindet es sich unter C: \ adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib

2) Ihre Android-Anwendung-> Eigenschaften -> Android

Im Fenster

2.1) Klicken Sie im Projekterstellungsziel auf Google APIs. 2.2) Fügen Sie im unteren Frame Google Play-Dienste hinzu und klicken Sie auf OK

Hoffe, es gibt klare Anweisungen, was zu tun ist!

Vielen Dank.

Pravs
quelle
0

In meinem Fall musste ich den Ordner "google-play-services_lib" im selben DRIVE der Quellcodes meiner Apps kopieren

  • F: \ Produkte \ Android \ APP * .java <- Meine Apps sind hier, daher habe ich sie in den folgenden Ordner kopiert
  • F: \ Produkte \ Android \ libs \ google-play-services_lib
fedmich
quelle
0

Das einfache Entfernen der Google Play Services-Bibliothek aus dem Projekt und das erneute Hinzufügen aus dem sdk->extras->googleOrdner löste mein Problem perfekt.

Neal Ahluvalia
quelle
0

Für meinen Fall starte ich einfach meine Eclipse neu und es funktioniert.

Ich habe 2 Wochen lang gearbeitet, ohne es herunterzufahren. Ich denke, es geht durcheinander.

Danke für den Vorschlag aber Ewoks!

Eddy Goh
quelle
0

Ersetzen Sie den Versionscode durch den entsprechenden Code der Bibliotheksversion, um Ihr Problem wie folgt zu lösen:

 <integer name="google_play_services_version"> <versioncode> </integer>
1'hafs
quelle
-3

Kann direkt als verwendet werden

android:value="6587000"

anstelle von

android:value="@integer/google_play_services_version"

Prost.

Ali Akram
quelle
In der oben akzeptierten Antwort ( stackoverflow.com/a/20068489/165164 ) erfahren Sie, warum dies eine schlechte Idee ist.
Anne Gunn
-37

Sie müssen dem Ordner "res / values" Ihres Projekts eine Datei "integers.xml" hinzufügen. Der Inhalt der Datei sollte sein ..

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>
Murray
quelle
6
Mach das niemals, es ist nicht dynamisch.
Panchicore
2
Dies ist genau das Falsche. Siehe Ewoks Antwort unter stackoverflow.com/a/20068489/1450294
Michael Scheper