Apps für Android programmieren leicht gemacht!
Google Cloud API-Key erhalten

Google Cloud API-Key erhalten

Um die Google Play Services nutzen zu können, muss man sich einen API-Key von Google erstellen lassen und diesen in sein Android Projekt einfügen. Wir zeigen, wie man einen Google Cloud API-Key erhalten kann.

Dieser Google API-Key generiert sich mitunter aus dem SHA1 Fingerprint der eigenen Keystore Datei. Diese Keystore Datei erstellt ihr selber, solltet ihr in der obersten Leiste auf „Build“ -> „Generate signed APK“ -> „Next“ -> „Create new…“ klicken. Diese Keystore Datei ist dann der Release-Keystore.
Zusätzlich gibt es noch einen Debug-Keystore. Dieser Debug-Keystore wird von Android Studio automatisch und zufällig generiert.

Unser Problem liegt genau dort. Sollten wir später versuchen unsere App mit einem Google Play Service zu erweitern, dann ist ein API-Key von Google nötig. Diesen API-Key benötigen wir sowohl beim Debuggen, als auch beim Veröffentlichen. Der Debug-Keystore und Release-Keystore sind jedoch unterschiedlich, ergo wird ein anderer API-Key heraus kommen. Wir müssen also für beide Fälle API-Keys erstellen.

 

Debug-Keystore SHA1 Fingerprint erstellen:

Der Debug-Keystore ist vorgegeben und wird als Standard benutzt, wenn wir unsere App Debuggen.
Die Datei zu finden ist etwas schwieriger. Wir können allerdings einen einfacheren Weg beschreiten.
Wir klicken in der linken Leiste auf Gradle -> *** (root) -> Tasks -> android -> Doppelklick auf „signingReport“.
Unser Debug-Keystore SHA1 Fingerprint wird nun generiert. Wir speichern ihn irgendwo unter.

SigningReport aufrufen
SigningReport aufrufen

 

Debug-Keystore SHA1 Fingerprint auslesen
Debug-Keystore SHA1 Fingerprint auslesen

 

Release-Keystore SHA1 Fingerprint erstellen:

Etwas anders gehen wir bei unserem eigens erstellten Release-Keystore vor.
Wir öffnen das Terminal in Android Studio (unterste Leiste).

Unter Mac:

Im Terminal navigieren wir mit dem Befehl „cd [Ordnerpfad]“ in den Ordner, in dem unsere Release-Keystore Datei liegt.
Mit „cd ..“ können wir eine Ordnerebene zurückgehen.
Haben wir den richtigen Ordner erreicht tippen wir:

keytool -list -v -keystore [DATEINAME].jks

Unter Windows:

Unter Windows verläuft das Ganze ein wenig anders. Hier suchen wir als erstes den Pfad zu unserem Release-Keystore heraus. Öffnet einfach im Explorer den Ordner, in dem der Release-Keystore liegt, klickt mit rechts darauf, wählt Eigenschaften und schreibt euch den Dateipfad auf. Wir werden ihn gleich benötigen.
Wir tippen in der Terminaleingabe zwei Befehle ein.
Mit dem ersten Navigieren wir zu dem Programm „keytool“.
Mit dem zweiten Befehl erstellen wir dann unseren SHA1-Fingerprint:

cd %PROGRAMFILES%\Java\jdk1.8.0_91\bin
keytool -list -v -keystore [Pfad zu euerem Release-Keystore + DATEINAME].jks

Achtet darauf, dass der Ordner „jdk1.8.0_91“ bei euch anders heißen kann, sofern ihr eine andere JDK Version installiert habt.
Auch diesen SHA1-Fingerprint speichern wir unter.

 

API-Key erstellen:

Unseren API-Key können wir auf der Webseite https://console.cloud.google.com/apis/ erstellen lassen.
Vorerst müssen wir jedoch unser Projekt dort eintragen und gegebenenfalls einen Account anlegen.

Google Cloud neues Projekt
Google Cloud neues Projekt erstellen

Wir geben dem Projekt nun einen passenden Namen. Nach kurzer Zeit ist unser Projekt erstellt. Wir öffnen das rechte Menü, klicken auf „API Manager“ und dann auf „Zugangsdaten“. Nun erstellen wir Zugangsdaten, klicken auf „API-Schlüssel“ und auf „Android-Schlüssel“. Den Namen des Schlüssels vergeben wir am Besten nach dem Verwendungszweck, also „Debug Key“ und später „Release Key“. Zusätzlich geben wir noch den Package Namen der App (steht in der Android-Manifest.xml Datei) und den SHA1 Fingerprint (passender SHA1 Fingerprint zum Namen) an.  Die selbe Vorgehensweise führen wir für den Release-Keystore Fingerprint noch einmal durch.

Android-Schlüssel
Android-Schlüssel
API-Schlüssel
API-Schlüssel
Namen und SHA1 Fingerprint
Namen und SHA1 Fingerprint

Haben wir das für beide API-Schlüssel gemacht finden wir die API-Keys dann wieder unter „Zugangsdaten“.

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

4 Kommentare

*Pflichtfeld

  • Hey,

    muss ich beim Erstellen des Release-Keystore SHA1Fingerprint etwas beachten?
    Ich habe eine Release-Keysore-Datei erstellt und will den SHA1 Fingerprint auslesen, aber das funktioniert nicht. Anscheineend kann der Befehl keytool nicht zuordnen.

    • Hallo Jasmin,

      Dein Problem wird wahrscheinlich sein, dass du den Befehl im falschen Ordner ausführst.
      Windows/OSX/Linux weiß nicht, wo das Programm mit dem Namen „keytool“ zu finden ist. Bei mir wird der Pfad zum Programm automatisch erkannt, deshalb ist wahrscheinlich auch der Befehl für dich unbrauchbar. Das werde ich sofort ändern.

      Unter welchem Betriebssystem arbeitest du denn?
      Wenn du unter Windows arbeitest, dann versuche einmal vor das „keytool“ das hier zu schreiben: „C:\Program Files\Java\jdk1.8.0_91\bin\“. Das „jdk1.8.0_91“ sollte gegen die aktuell auf dem System installierte JDK Version getauscht werden.

      Gruß,
      Marvin

  • Hallo,
    ich arbeite unter Windows 10, aber er kann den Befehl auch mit dem erweiterten Pfad nicht ausführen. Und wenn ich versuche im Terminal in den Ordner zu navigieren, kann ich das nicht, weil der Ordner anscheinend nicht existiert…
    Kann ich irgendwie rausfinden, ob der Ordner bei mir an einer anderen Stelle liegt? (Wenn ich eine normale Suche starte, findet er nichts.)

    Danke 🙂
    Jasmin

    • Tut mir leid, dass ich erst so spät antworte.
      Da ich normalerweise unter OSX/Linux arbeite musste ich vorerst Windows 10 installieren und ich hatte noch bis 16 Uhr Vorlesungen in der Uni.

      Da ist mir doch glatt ein Fehler unterlaufen.
      Ich habe den Artikel noch einmal explizit für Windows und OSX angepasst.

      Ich danke dir, dass du mich auf meinen Fehler aufmerksam gemacht hast.
      Du hast etwas gut bei mir 😛

      Gruß,
      Marvin