Wie bekommt man ein GoogleMaps Key für Android Apps?

In dieser Anleitung wird vorausgesetzt, dass Sie eine Android-App unter Eclipse auf Windows 7 entwickeln. Für andere Plattforme gelten ähnliche Überlegungen aber andere Kommandos.

1. Finden Sie auf Ihrem Rechner die Datei .android\debug.keystore

Sie kann z.B. im Verzeichnis C:\Users\<Ihr Name> liegen.

2. Finden Sie auf Ihrem Rechner die Datei keytool.exe

Sie kann z.B. im Verzeichnis \Program Files\Java\jdk1.7.0_02\jre\bin liegen.

3. Starten das DOS-Fenster

Das Programm befindet sich im Windows-Menü Start/All Programs/Accessories/Command Prompt (auf Deutsch Start/Alle Pro­gram­me/Zubehör/Eingabeaufforderung).

4. Im DOS-Fenster wechseln Sie zu dem Verzeichnis (mit dem Kommando cd, „change directory“), wo keytool.exe enthalten ist; z.B.

> cd \Program Files\Java\jdk1.7.0_02\jre\bin

6. Rufen Sie das Programm keytool mit dem folgenden DOS-Kommando auf:

> keytool -list -v -keystore <Ihr Verzeichnis>\.android\debug.keystore

Das Programm fragt Sie nach dem Paßwort:

Enter keystore password:

Die korrekte Eingabe ist android

Als Antwort bekommen Sie die Fingerprints – das sind 16 Bytes, die weltweit eindeutig Ihren Keystore identifizieren:

DOS-Fenster

7. Mit der rechten Maustaste markieren Sie den gesamten Inhalt des DOS-Fensters und kopieren Sie ihn mit der Eingabetaste (Enter). Fügen Sie alles in einem Editor ein und suchen Sie die Zeile den MD5-Fingerprint aus, etwa:

MD5:  9E:9B:BC:DC:41:7D:BE:C8:31:95:80:E8:F8:58:16:B3

8. Gehen Sie mit einem Internet-Browser auf der Seite

https://developers.google.com/android/maps-api-signup

9. Hier müssen Sie mit den Bedingungen einverstanden sein und das MD5-Fingerprint in das Formular hineinkopieren:

maps-api-signup

10. Nach dem drücken des Knopfes erhalten Sie einen Schlüssel, ähnlich wie

0n11vVBKEe4Ow-gVwMUvCH2ph_BHeEulWzcBzGA

11. Öffnen Sie in Ihrem Android-Projekt layout/map.xml (oder wie auch immer Ihre Layout-Ressource heißt, die Sie in der MapActivity als ContentView setzen).  Es muss ein XML-Element mit dem Tag com.google.android.maps.MapView enthalten. Setzen Sie den Wert des Attributs android:apiKey auf Ihren Schlüssel, etwa:

<!-- 9E:9B:BC:DC:41:7D:BE:C8:31:95:80:E8:F8:58:16:B3 -->

<com.google.android.maps.MapView

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:apiKey="0n11vVBKEe4Ow-gVwMUvCH2ph_BHeEulWzcBzGA"

  ...

/>

Am besten notieren Sie sich auch den MD5-Fingerprint als Kommentar, um es später überprüfen zu können.

12. Setzen Sie in den Projekteigenschaften (Eclipse-Menü Project/Properties/Android) ProjectBuildTarget auf Google APIs:

Project Properties

Hierzu müssen Sie im Android SDK-Manager (Eclipse-Menü Window/Properties/Android) Google APIs (und am besten auch Google USB driver) installiert haben:

SDK Manager

Jetzt können Sie ihr App entwickeln, in dem Sie com.google.android.maps.MapActivity erweitern.

Wenn Sie darin Geokoordinaten abfragen (z.B. mit android.location.LocationManager), können Sie sie von Eclipse an Ihr Testgerät (den Emulator oder Android-Gerät ohne GPS-Sensor oder im geschlossenen Raum) verschicken. Hierzu müssen Sie die DDMS-Perspektive am Eclipse einschalten: Window/Open Perspective/Other/DDMS. Am Tab Devices wählen Sie Ihr Gerät aus und am Tab Emulator Control können Sie die Koordinaten eintippen und mit Send verschicken:

Geokoordinaten 

Das Gerät reagiert und wird z.B. LocationListener.onLocationChanged() aufgerufen.


Version: 2. Juli 2012

© Prof. Solymosi, 2012, Beuth-Hochschule für Technik Berlin

solymosibht-berlin.de