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

8

Ich habe eine Android-App, die Google Maps nutzt. Plötzlich hörte es im Freigabemodus auf zu arbeiten. In der Kartenansicht werden Google Play-Dienste auf dem Emulator und auf echten Geräten aktualisiert . Im Internet recherchieren alle über die API-Schlüsseldatei, aber das ist nicht mein Problem!

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

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

    
Guido Lodetti 06.03.2017, 10:30
quelle

4 Antworten

3
  

"Wenn ich debuggable auf false setze, funktioniert es nicht mehr"

Dies deutet darauf hin, dass Ihr API-Zugriff auf den Debug-Modus beschränkt ist. In Anbetracht der Tatsache, dass es keine separaten API-Schlüssel für das Debuggen und Freigeben gibt, würde es so aussehen, als wäre Ihr Schlüssel an Ihr Debug-Zertifikat gebunden worden.

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

  

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 eine solche Einschränkung haben, wird der API-Zugriff durch den abweichenden Fingerabdruck des Freigabezertifikats unterbrochen.

Werfen Sie einen Blick auf den Abschnitt "Abrufen der Zertifikatsinformationen selbst" in der oben verlinkten Dokumentation, um den korrekten (Release-) Zertifikat-Fingerabdruck zu erhalten.

    
Nick Cardoso 13.03.2017 03:53
quelle
2

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

Kurz gesagt, was ich getan habe, war die Zeile hinzuzufügen:

%Vor%

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 Kartenkomponenten von einem anderen Modul aus erfolgt (z. B. in einer gemeinsam genutzten Bibliothek), aber ich habe es nicht überprüft.

    
estebanuri 31.03.2017 19:28
quelle
0

Hatte dasselbe Problem. Versuchen Sie, Ihren Google Play-Dienst von Gradle zu aktualisieren und überprüfen Sie es dann. Vielleicht hilft es dir. Eine weitere Sache, bitte verwenden Sie die neueste Version und das Ziel, bitte stellen Sie auch mehr als oder 17 ein.

    
parik dhakan 16.03.2017 05:07
quelle
0

Hatte den gleichen "Fehler", konnte mit diesen Schritten gelöst werden:

Ссылка

  

Ich weiß, wie du dich fühlst, wenn du ständig eine Nachricht bekommst, die sagt   "Google Play-Dienste wurden beendet" Um dieses Problem zu beheben, würde ich empfehlen   Cache für Google Play-Dienste löschen (Gehe zu Einstellungen & gt; Apps oder   Anwendungsmanager & gt; Google Play-Dienste & gt; Cache löschen & gt; OK) und und   Google Play Store. Sobald Sie den Cache gelöscht haben, starten Sie Ihr Gerät neu   Überprüfen Sie, ob es funktioniert.

    
Boni2k 23.03.2017 11:12
quelle