Ich verwende Google Maps in meiner Android-Anwendung. Ich habe den Schlüssel erstellt und die erforderlichen Berechtigungen in die Manifestdatei eingefügt. Aber sobald ich die Anwendung starte, erhalte ich folgende Meldung im Debugger:
GoogleService konnte nicht initialisiert werden, Status: 10, Fehlende erwartete Ressource: 'R.string.google_app_id' zum Initialisieren von Google-Diensten. Mögliche Ursachen sind fehlende google-services.json oder com.google.gms.google-services gradle Plugin.
Ich bin mir nicht sicher, was falsch ist. Die Karte funktioniert einwandfrei und ich kann sie ohne Probleme verwenden. Meine Gradle-Datei hat diesen Eintrag:
kompiliere 'com.google.android.gms: play-services: 8.4.0'
Worüber beschwert es sich und wie lindere ich es?
Antworten:
Sie müssen
google-services.json
die von developer.google.com generierte Konfigurationsdatei ( ) platzieren , wie im zweiten Schritt der offiziellen Dokumentation hier erwähntDer Prozess ist einfach
Nachdem Sie die gewünschten Dienste ausgewählt haben (in diesem Fall den Karten-Dienst), können Sie die Konfigurationsdatei generieren.
Dann wie in Schritt 3 der offiziellen Dokumente hier zitiert
PS: Wenn Leute diese Antwort ablehnen, hinterlassen Sie bitte einen Kommentar, warum Sie sie ablehnen.
quelle
[Vom Produktmanager @ Google]
Sie können dieses Problem beheben, indem Sie die
google-services.json
Datei für Ihre Android-App herunterladen und kopieren, indem Sie die folgenden Schritte ausführen:Continue to Choose and configure services
.Continue to Generate Configuration files
.google-services.json
die Datei herunter und kopieren Sie sie in das Verzeichnisapp/
odermobile/
module in Ihrem Android-Projekt.Wenn Sie Ihr Google-Projekt zuvor in Firebase importiert haben, können Sie die aktualisierte Datei google-services.json über die Firebase-Konsole unter Projekteinstellungen abrufen.
KOPIEREN SIE die PROJECT_NUMBER NICHT wie in einer der anderen Antworten vorgeschlagen, da die google_app_id auf Ihre App innerhalb eines Projekts und nicht auf das Projekt selbst verweist.
quelle
In meinem Fall war die Ursache für diesen Fehler, dass das Google Services-Plugin für Gradle und die Play Services-Bibliothek inkompatible Versionen waren. Anleitung für kompatible Versionen:
1) Fügen Sie die Abhängigkeit zu Ihrem build.gradle auf Projektebene hinzu:
2) Fügen Sie das Plugin zu Ihrem build.gradle auf App-Ebene hinzu:
3) Wenn Sie Android Studio verwenden, ist dies die Zeichenfolge, die dem Abhängigkeitsabschnitt der build.gradle-Datei Ihrer Anwendung hinzugefügt werden soll:
Quelle: https://developers.google.com/cloud-messaging/android/client
quelle
com.google.android.gms:play-services-maps:8.4.0
Ich traf das gleiche Problem und löste es nach der offiziellen Lösung .
Hier sind die Schritte:
Holen Sie sich die Konfigurationsdatei
google-services.json
von diesem Link .Kopieren
google-services.json
Sie die gerade heruntergeladene Datei in das Verzeichnis app / oder mobile / Ihres Android Studio-Projekts.Fügen Sie die Abhängigkeit zu Ihrem build.gradle auf Projektebene hinzu:
Fügen Sie das Plugin zu build.gradle auf App-Ebene hinzu:
Fügen Sie diese Abhängigkeit zu build.gradle auf App-Ebene hinzu:
quelle
Für diejenigen, die dieses Problem auch nach dem korrekten Einrichten der Wiedergabedienste und dem Ablegen der
google-services.json
Datei in einemproject/app
Ordner haben, ist die eigentliche Lösung:Build > Rebuild Project
Möglicherweise aufgrund der Tatsache, dass Zeichenfolgen aus der JSON-Datei erst nach einer vollständigen Neuerstellung in kompilierte Ressourcen integriert werden.
quelle
Für Xamarin / Visual Studio Mac musste ich dies am Ende meiner Droid.csproj hinzufügen
https://github.com/xamarin/GooglePlayServicesComponents/issues/64
quelle
Das passiert mir auch. In meinem Fall liegt es daran, dass Android Studio versucht hat, Code in meine Hauptaktivität einzufügen. Das Entfernen des Codes behebt den Fehler
Bei dem eingefügten Code geht es um die App-Indizierung:
https://developers.google.com/app-indexing/android/publish
quelle
Ich hatte damals das gleiche Problem. Konnte es lösen, indem nur die notwendige Play Services-Bibliothek verwendet wurde, in meinem Fall GCM.
Stattdessen
com.google.android.gms:play-services:8.4.0
benutze ichcom.google.android.gms:play-services-gcm:8.4.0
. Sehen Sie hier für weitere Informationen; Dies löst auch das Multidex-Problem.Dann habe ich sowohl @Radix als auch @ Alexanders Ansatz angewendet, um die Nachricht zu entfernen, die GCM im Logcat bezüglich des ausgegeben hat
google-services.json
.quelle
Sie können das
versionCode
undversionName
Ihrer App in Ihrer Gradle-Datei ändern .quelle
Eine schnelle Lösung, die ich verwendet habe, ist das Deaktivieren der Signatur. Wenn Sie keinen Produktionscode erstellen möchten, können Sie Ihre Build-Variante auf debug, localOldDebug oder localDebug setzen.
Klicken Sie in Android Studio unten links auf Build Variants.
How-to-Disable-Generated-Signed-Apk-Android-Studio
quelle
Haben Sie einfach eine andere Lösung, die ich versehentlich entferne
Fügen Sie dies hinzu und arbeiten Sie, ist für eine neue Lösung
quelle