Google Maps-Key für Release

  • Hallo zusammen,
    seit kurzem beschäftige ich mich mit der Welt der Android - Programmierung. Zur Zeit habe ich noch mehr Fragen als Antworten. Ich hoffe Ihr könnt mich etwas weiter ins Licht rücken!
    Bei meiner ersten Sinnvollen-APP habe ich ein Problem. Ich komme mit dem Google-Map Key für ein Release nicht zurecht. Den Key von der Debug-Version habe ich mir erstellt und er funktioniert auch im Simulator und auf dem Smartphone. Anscheinend brauche ich aber für das Release der APP einen eigenen Google-Map-Key, aber wie komme ich an einen solchen heran? Mit der Beschreibung in der Google-maps-api.xml-(Release) komme ich auch nicht wirklich weiter. Für Hilfe oder Tipps, wäre ich sehr dankbar.


    Thomas

  • Bekommst du eine Fehlermeldung?
    Google Maps hat in letzter Zeit sehr viel umgebaut.
    Du musst anscheinend ein neues Projekt anlegen und dort einen Key erstellen, der nur für Android gültig ist (also kein JS-Api etc mit aktivieren).
    Eventuell musst du eine Kreditkarte hinterlegen, das ist zumindest im Moment bei der Web-API so seit ein paar Wochen.
    Du bekommst allerdings jeden Monat 200$ Guthaben für Api-Requests (siehe: https://cloud.google.com/maps-platform/pricing/ ). Dann wird zumindest nicht direkt die Kreditkarte belastet, sondern nur bei sehr viel Traffic.

  • Eine spezielle Fehlermeldung in Bezug auf GoogleMaps bekomme ich keine. Die App läuft auch ohne Probleme, aber ich bekomme in der Map keinen meiner Punkte angezeigt. Die Erstellung des Key verlief ohne Probleme. Ich hatte versucht den Key aus der "Google-maps-api.xml-(Debug)" in die "Google-maps-api.xml-(Release)" zu kopiert, aber das ist leider gescheitert.

    Dieser Teil hat sich erledigt!
    Habe ich evtl. einen Fehler beim erstellen des Release gemacht? Die Signatur habe ich erstellt, konnte dann aber im Build nur APK-Bundel erstellen. Wenn ich eine APK-Datei erstellte, lautete ihr Name "xxx-unsiegniert.apk" (ich habe den genauen Wortlaut gerade nicht vorliegen).

  • Ich habe mich falsch ausgedrückt.
    Die Map ist da, die Zoom-Button sind zu sehen und auch der Google-Schriftzug, aber der Rest ist grau!


    Ich wollte deinen Tipp versuchen, bin aber wieder über meine eigenen Füße gestolpert. Wo finde ich die "Keystore(.jks) mit dem SHA-1 Key" ?


    Ich habe noch ein bisschen gegoogelt und eine Lizenz Beschreibung gefunden (siehe Anhang und Markierung).
    Ist es ein Problem, dass ich die App nur als Internen-Test-Track hochgeladen habe?

  • Wenn du einfach auf den Play/Run-Button drückst erstellst du im Normalfall eine Debug app (app-debug.apk).
    Zum Signieren dieser App verwendet Android-Studio eine debug.keystore (ist quasi auch eine .jks Datei).
    Wenn du die App releasen willst, musst du einen Keystore erstellen und auch abspeichern.
    Das ist die .jks-Datei (Speicherort gibts du beim Erstellen an).
    In dieser .jks-Datei steht ein SHA-1-Key den du auslesen kannst (mit dem keytool), und auch in der Google-Maps-API eintragen musst.


    Da die Map aber kommt, ist es kein API Problem, dort würdest du auch eine Fehlermeldung im Logcat sehen!


    Wenn du nur den Debug-SHA-1 in der API hinterlegt hast (auf den Link den du in der Beschreibung gehen solltest), baust du entweder deine Release-app falsch oder benutzt die ganze Zeit die Debug-App.

  • Mühsam ernährt sich das Eichhörnchen ….


    Das auslesen des SHA-1-Key habe ich hinbekommen und den Key auch eingetragen. Wie zu erwarten läuft die Map noch immer nicht! ;(


    Ich stell immer wieder fest, dass ich die Unwissenheit gepachtet habe. Beim erstellen der Release bekomme ich keine Fehler. Das Release installiere ich über USB-Stick bzw. Laufwerkskfreigabe auf mein Smartphone (damit ich es nicht ständig am PC lade). Das verläuft auch ohne Probleme. Möchte ich die (Fertige) App aber auf dem Simulator oder dem Smartphone testen bzw. mit loggen, wird sie nicht installiert. Ich bekomme eine Fehlermeldung mit folgendem Inhalt:
    "Installation failed with message Failed to finalize session : INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl2048972652.tmp/0_base-en has no certificates at entry AndroidManifest.xml.
    It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing."


    Das APK ist vom Gerät oder Simulator entfernt!


    Im LOCAT sieht der Fehler so aus:
    10-25 18:08:41.232 1543-1589/system_process E/PackageInstaller: Commit of session 1213375 failed: Package /data/app/vmdl1213375.tmp/0_base-en has no certificates at entry AndroidManifest.xml
    10-25 18:08:41.235 7610-7610/? E/Pm: Failure details: Bundle[{android.content.pm.extra.STATUS=4, android.content.pm.extra.SESSION_ID=1213375, android.content.pm.extra.LEGACY_STATUS=-103, android.content.pm.extra.STATUS_MESSAGE=INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1213375.tmp/0_base-en has no certificates at entry AndroidManifest.xml}]

    Ich hätte mir den Start in die Androitwelt nicht ganz so holprig vorgestellt! Ich habe bereit zwei, drei kleinere Apps umgesetzt, aber das ging irgendwie unproblematischer.

    Im Anhang habe ich nochmals ein Bild von der Map beigefügt.

  • Im Screenshot wird die Map doch nicht geladen (ich dachte es fehlen nur die Marker?).
    Wenn der die Map nicht geladen wird, ist es noch ein API-Fehler!
    Da muss auf jeden Fall ein Fehler im Logcat auftauchen! (schau mal ob die die Logcat-Ausgabe gefiltert hast).


    Irgendwas machst du noch mit den Signaturen falsch.
    Wie hast du die Release-Signature erstellt, wie baust du die release version, welche SHA-1 Keys von welchen Signaturen hast du bei Google eingetragen?
    Wenn du schon paar Apps gemacht hast, weißt du doch wie man eine Release-Version erstellt? Oder hattest du noch keine im Playstore released?


    Nunja die Maps-API ist halt etwas komplexer. Da kann man sich schonmal aufhängen...
    Vielleicht die Schritte nochmal in Ruhe durchgehen, irgendwo hast du den Wurm drin. Es kann eigentlich kein besonders großer Fehler sein.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!