googelte, las Millionen Ratschläge, wie man einen Google API-Schlüssel generiert, wie man ihn benutzt, aber nichts funktioniert!
Dann:
Vielen Dank im Voraus für alle Ratschläge.
Zdenek
Stellen Sie sicher, dass Sie Ihren Release-API-Schlüssel in der Datei google_maps_api.xml unter dem Freigabeordner eingeben.
Wechseln Sie zunächst zur Projektansicht, indem Sie die Dropdown-Liste oben links im Projekt-Explorer verwenden. Erweitern Sie dann app/src/
, und Sie sehen die Unterordner debug
und release
. Unter dort sollten Sie zwei separate google_maps_api.xml-Dateien unter debug/res/values
und release/res/values
sehen.
Stellen Sie sicher, dass sich der Release-API-Schlüssel in der Datei google_maps_api.xml im Ordner release/res/values
befindet, da dies derjenige ist, der für die signierte Release-Version verwendet wird.
ich hatte es satt, immer und immer wieder zu versuchen. Es stellt sich heraus, dass PlayStore etwas namens App-Signaturzertifikat hat, und die Karte funktioniert, nachdem ich das sha1 kopiert und in die Google-Konsole für die Android-Karte eingefügt habe.
im Allgemeinen müssen Sie die folgenden Schritte ausführen:
1- Neue Karten erstellen Aktivität in Android studio
2- In google_maps_api.xml
Öffne den Link in Zeile 3
3- Bestätigen Sie die Daten und geben Sie den Firebase-Schlüssel ein
4- Schlüssel kopieren in google_maps_api.xml
debuggen und freigeben
5- Geben Sie SHA1 in der Registerkarte gradle
-> Signaturbericht frei
nützlicher Link für die Anmeldung im Debug-Modus, um sha1 zu erhalten
Ich war mit dem gleichen Problem konfrontiert. In meinem Fall war der Fingerabdruck meines Pakets, das in Google Map API Key verwendet wurde, nicht übereinstimmend.
Kopieren Sie den Schlüssel und fügen Sie ihn in google_maps_api.xml ein
string name = "google_maps_key" templateMergeStrategy = "preserve" translatable = "false" IHR SCHLÜSSEL
Und führen Sie die Anwendung aus
Verwenden Sie nicht unterhalb des Fingerabdrucks oder Schlüssels, erstellen Sie einen separaten, es basiert auf Paket und Anwendung.
Stellen Sie sicher, dass der in der Datei google_maps_api.xml eingegebene Kartenschlüssel der gleiche Android-Schlüssel ist, der von Google Console generiert wird.
Sie können auch einen neuen Schlüssel ausprobieren.
Ich bin einen Tag in diesem Thema stecken geblieben. Ich habe alles versucht und schließlich den folgenden Code in meinem Manifest gefunden:
<supports-screens
Android:anyDensity="false"
Android:largeScreens="true"
Android:normalScreens="true"
Android:smallScreens="false"
Android:xlargeScreens="true" />
Nach dem Entfernen dieser Linien werden meine Karten korrekt angezeigt.
Gehen Sie zu h ttps: //play.google.com/apps/publish/ und dann zu App signing
:
Vielleicht siehst du das:
In diesem Fall sind Sie möglicherweise ein Entwickler und nicht der Kontoinhaber. Sie müssen den Kontoinhaber kontaktieren und ihn bitten, diesen Vorgang abzuschließen. Befolgen Sie diesen Artikel dazu:
https://learnfreecoding.com/how-to-sign-your-Android-app-with-signed-key-private_key-pepk/
Der Kontoinhaber wird zu diesem Bildschirm gelangen:
Bitten Sie sie, Upload a key exported from Android Studio
Zu wählen. Sie müssen eine private_key.pepk
- Datei hochladen. So erhalten Sie diese Datei von Android Studio:
Build > Generate Signed Bundle / APK...
.Wählen Sie Android App Bundle
Und klicken Sie auf Next
:
Geben Sie die entsprechenden Anmeldeinformationen ein und aktivieren Sie das Kontrollkästchen für Export encrypted key for enrolling published apps in Google Play App Signing
.
Geben Sie den Zielordner an und stellen Sie sicher, dass Sie release
auswählen, bevor Sie auf Finish
klicken:
Dadurch wird die Datei private_key.pepk
Generiert, die Sie für Upload a key exported from Android Studio
Bereitstellen müssen.
Nachdem Sie die obigen Schritte ausgeführt haben, sehen Sie im Abschnitt App signing
Ihrer App Folgendes:
Dann sehen Sie, dass Google Maps auf realen Android Studio-Geräten und nicht nur auf dem Android Studio-Emulator) ordnungsgemäß funktioniert. Dies war die Lösung für mich.
Wenn Sie versuchen, einen Map-API-Schlüssel zu erstellen, stellen Sie sicher, dass die URL den richtigen Paketnamen enthält. Es sollte kein Unterpaket wie dieses enthalten.
falsches Paket: com.gpslocation.trackerpro.Activities
korrektes Paket: com.gpslocation.trackerpro
Vergessen Sie nicht nach dem Bearbeiten zu speichern