Android Studio-Projekt einrichten

Auf dieser Seite wird erläutert, wie ein bestehendes Android Studio-Projekt für das Maps SDK for Android konfiguriert werden kann, und zwar ohne die in der Kurzanleitung beschriebene Google Maps-Vorlage.

Mit der Vorlage wird ein neues Android Studio-Projekt automatisch konfiguriert. Gleichzeitig wird auch eine Basiskarte eingebunden. Sie haben jedoch auch die Möglichkeit, in ein Android-Projekt eine Karte einzubinden, für die eine andere Android Studio-Vorlage verwendet wird. Dazu müssen Sie Ihr Projekt manuell konfigurieren und dann die Karte hinzufügen.

Schritt 1: Android Studio einrichten

  1. Android Studio Arctic Fox oder höher ist erforderlich. Falls noch nicht geschehen, müssen Sie diese Version von Android Studio herunterladen und installieren.
  2. Es muss mindestens Version 7.0 des Android-Gradle-Plug-ins in Android Studio verwendet werden.

Schritt 2: SDK einrichten

Die Maps SDK for Android-Bibliothek ist über das Maven-Repository von Google verfügbar. So fügen Sie das SDK der App hinzu:

  1. Fügen Sie in der Datei settings.gradle auf oberster Ebene das Portal für Gradle-Plug-ins, das Maven-Repository von Google und das Maven Central Repository unter dem pluginManagement-Block ein. Der pluginManagement-Block muss vor allen anderen Anweisungen im Skript eingefügt werden.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. Fügen Sie in der Datei settings.gradle auf oberster Ebene das Maven-Repository von Google und das Maven Central Repository unter dem dependencyResolutionManagement-Block ein:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. Fügen Sie in der Datei build.gradle auf Modulebene die Abhängigkeit für Google Play-Dienste für das Maps SDK for Android ein.
    dependencies {
        implementation 'com.google.android.gms:play-services-maps:18.0.2'
        // ...
    } 
  4. Legen Sie in der Datei build.gradle auf Modulebene für compileSdk und minSdk die folgenden Werte fest:
    android {
        compileSdk 31
    
        defaultConfig {
            minSdk 19
            // ...
        }

Schritt 3: API-Schlüssel zum Projekt hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie Ihren API-Schlüssel speichern, damit er von Ihrer App sicherer referenziert werden kann. Der API-Schlüssel sollte nicht in Ihrem Versionsverwaltungssystem eingecheckt werden. Stattdessen empfiehlt es sich, ihn im Stammverzeichnis Ihres Projekts in der Datei local.properties zu speichern. Weitere Informationen zur Datei local.properties finden Sie unter Gradle-Attributdateien (in englischer Sprache).

Sie können das Secrets Gradle Plugin for Android verwenden, um diese Aufgabe zu optimieren. So installieren Sie das Plug-in und speichern Ihren API-Schlüssel:

  1. Öffnen Sie in Android Studio die Datei build.gradle auf Projektebene und fügen Sie folgenden Code in das Element dependencies unter buildscript ein:
    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. Öffnen Sie dann die Datei build.gradle auf Modulebene und fügen Sie dem Element plugins den folgenden Code hinzu:
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
        
  3. Speichern Sie die Datei und synchronisieren Sie Ihr Projekt mit Gradle.
  4. Öffnen Sie die Datei local.properties in Ihrem Verzeichnis auf Projektebene, fügen Sie den folgenden Code ein und ersetzen Sie dabei YOUR_API_KEY durch Ihren eigenen API-Schlüssel:
    MAPS_API_KEY=YOUR_API_KEY
        
  5. Speichern Sie die Datei.
  6. Gehen Sie in der Datei AndroidManifest.xml zu com.google.android.geo.API_KEY und nehmen Sie folgende Änderungen am android:value attribute vor:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

Hinweis: Für den API-Schlüssel wird com.google.android.geo.API_KEY als Metadatenname empfohlen (siehe oben). Ein Schlüssel mit diesem Namen kann zur Authentifizierung bei mehreren Google Maps-basierten APIs auf der Android-Plattform verwendet werden, einschließlich Maps SDK for Android. Aus Gründen der Abwärtskompatibilität unterstützt die API auch den Namen com.google.android.maps.v2.API_KEY. Für diesen alten Namen wird nur die Authentifizierung bei Version 2 der Android Maps API unterstützt. In der Anwendung kann nur einer der Metadatennamen für den API-Schlüssel festgelegt werden. Falls beide angegeben werden, gibt die API eine Ausnahme aus.

Schritt 4: App-Manifest aktualisieren

In diesem Abschnitt werden die Einstellungen erläutert, die in der Datei AndroidManifest.xml festgelegt werden müssen.

Versionsnummer der Google Play-Dienste

Fügen Sie die folgende Deklaration im application-Element ein. Damit wird die Version der Google Play-Dienste eingebettet, mit der die App kompiliert wurde.

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

Berechtigung zur Standortermittlung

Wenn die App auf den Standort des Nutzers zugreifen soll, müssen Sie die Berechtigung zur Standortermittlung in der Datei AndroidManifest.xml anfordern. Zur Auswahl stehen ACCESS_FINE_LOCATION, mit dem der genaue Standort angegeben wird, und ACCESS_COARSE_LOCATION, mit dem ein weniger präziser Standort angegeben wird. Weitere Informationen finden Sie im Leitfaden zu Standortdaten.

Fügen Sie dem manifest-Element folgenden Code hinzu, um die Berechtigung ACCESS_FINE_LOCATION anzufordern:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Berechtigung zum externen Speichern

Wenn Sie für Ihre App Version 8.3 oder höher des Google Play Services SDK vorgeben, ist die Berechtigung WRITE_EXTERNAL_STORAGE nicht erforderlich. Wenn Sie eine ältere Version des Google Play Services SDK vorgeben, müssen Sie die Berechtigung WRITE_EXTERNAL_STORAGE anfordern, und zwar im manifest-Element.

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Apache HTTP Legacy-Bibliothek

Wenn Sie com.google.android.gms:play-services-maps:16.0.0 oder niedriger verwenden und für Ihre App API-Level 28 (Android 9.0) oder höher angeben, müssen Sie die folgende Deklaration im <application>-Element von AndroidManifest.xml angeben. Andernfalls können Sie diese Deklaration weglassen.

<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

Schritt 5: Android-Gerät einrichten

Um eine App auszuführen, in der das Maps SDK for Android verwendet wird, müssen Sie sie auf einem Android-Gerät oder einem Android Emulator bereitstellen, das bzw. der auf Android 4.0 oder höher basiert und Google APIs enthält.

  • Wenn Sie ein Android-Gerät verwenden möchten, folgen Sie der Anleitung zum Ausführen von Apps auf einem Hardwaregerät (in englischer Sprache).
  • Wenn Sie einen Android Emulator verwenden möchten, können Sie ein virtuelles Gerät erstellen und den Emulator mit dem AVD Manager für virtuelle Android-Geräte installieren, der in Android Studio enthalten ist.

Nächster Schritt

Sobald Ihr Projekt konfiguriert ist, können Sie eine Karte hinzufügen.