wake-up-neo.net

"Google Play-Dienste werden aktualisiert" in der Google Maps-API

Ich habe eine Android-App, die Google Maps verwendet. Plötzlich hörte es auf, im Freigabemodus zu arbeiten. Die Kartenansicht sagt Google Play-Dienste aktualisieren auf dem Emulator und auf realen Geräten. Bei der Suche im Internet spricht jeder über die API-Schlüsseldatei, aber das ist nicht mein Problem!

Ich habe jede mögliche Kombination von Freigabeeinstellungen ausprobiert und ich habe herausgefunden, dass das Problem auftritt, wenn ich debuggable = false in der Build-Konfiguration (mit debuggable = true) eingestellt habe. Ich kann nicht verstehen, warum Maps nicht funktionieren, da die APK natürlich nicht debugierbar ist. Ich habe auch mehrere Versionen von Google Play-Diensten ausprobiert, sogar die neuesten (10.2.0). Kein Unterschied.

Was kann ich machen? Bitte helfen Sie, da ich keine neue Version im Play Store veröffentlichen kann, bis ich diesen Fehler behoben habe.

 enter image description here

11
Guido Lodetti

"Wenn ich debuggable auf false gesetzt habe, funktioniert es nicht mehr"

Dies legt nahe, dass Ihr API-Zugriff auf den Debug-Modus beschränkt ist. In Anbetracht dessen, dass es keine separaten API-Schlüssel für Debug und Release gibt, scheint es, als wäre Ihr Schlüssel an Ihr Debug-Zertifikat gebunden.

So zitieren Sie "Weitere Informationen zu API-Schlüsseleinschränkungen" in der Dokumentation :

Sie können optional eine Einschränkung hinzufügen. Bei Android-Apps beschränken Sie den Schlüssel auf den SHA-1-Fingerabdruck Ihrer App

Wenn Sie über eine solche Einschränkung verfügen, wird der API-Zugriff durch den unterschiedlichen Fingerabdruck des Freigabezertifikats beeinträchtigt.

Sehen Sie sich den Abschnitt "Erhalten Sie die Zertifikatsinformationen selbst" der oben verlinkten Dokumentation an, um den richtigen (freigegebenen) Fingerabdruck des Zertifikats zu erhalten

3
Nick Cardoso

Ich hatte das gleiche Problem und konnte es beheben. Das Problem tritt auf, wenn die Option minifyEnabled auf true gesetzt ist (wenn false, tritt das Problem nicht auf).

Kurz gesagt, ich habe die Zeile hinzugefügt:

-keep class com.google.** {*; }

in die Proguard-Regeldatei (proguard-rules.pro), um zu verhindern, dass Abhängigkeiten von Google Play-Diensten verschleiert werden .. __ Zumindest in meinem Fall scheint die resultierende APK nicht viel größer zu sein, wenn diese Regel hinzugefügt wird.

Ich denke, das Problem tritt auf, wenn die Verwendung von Map-Komponenten von einem anderen Modul aus erfolgt (zum Beispiel in einer gemeinsam genutzten Bibliothek), aber ich habe es nicht geprüft.

1
estebanuri

Leider sind die neuesten Google Play-Dienste fehlerhaft, und eingebettete Karten funktionieren auf fast ALLEN Huawei/Meizu-Telefonen WELTWEIT .. __ Keine Möglichkeit, den Cache zu löschen, da beim nächsten Neustart die 12.6.73 Google Play-Dienste automatisch sind wieder aktualisiert und innerhalb weniger Stunden wieder funktionieren. Der einzige Weg ist, auf einen Google-Hotfix zu warten, der als Top-Release erscheinen soll.

Dies ist das offizielle Google-Ticket zur Fehlerverfolgung zu diesem Problem:

https://issuetracker.google.com/issues/79405933

1
user2991288

Hatte den gleichen "Fehler", konnte mit folgenden Schritten behoben werden:

https://productforums.google.com/forum/#!topic/play/ey7qIRBYj-o

Ich weiß, wie Sie sich fühlen, wenn Sie ständig eine Nachricht erhalten. "Google Play-Dienste wurden gestoppt". Um dieses Problem zu beheben, würde ich empfehlen Cache für Google Play-Dienste löschen (Gehen Sie zu Einstellungen> Apps oder Anwendungsmanager> Google Play-Dienste> Cache löschen> OK) und und Google Play Store. Wenn Sie den Cache geleert haben, starten Sie Ihr Gerät auf Überprüfen Sie, ob es funktioniert.

0
Boni2k

Hatte das gleiche Problem. Versuchen Sie, Ihren Google Play-Dienst von Gradle zu aktualisieren, und überprüfen Sie ihn. Vielleicht hilft es dir. Eine weitere Sache, bitte verwenden Sie die neueste Gradle-Version. 

0
parik dhakan