Projektkonfiguration

In diesem Leitfaden werden die Build-Konfigurationsanforderungen für die Verwendung des Navigation SDK for Android aufgeführt. Bei dieser Anleitung wird davon ausgegangen, dass Sie eine Android-IDE installiert haben und mit der Android-Entwicklung vertraut sind.

Mindestanforderungen für die Verwendung des Navigation SDK

  • Ein Google Cloud Console-Projekt mit aktiviertem Navigation SDK. Informationen zur Bereitstellung erhalten Sie von Ihrem Google Maps Platform-Ansprechpartner.

  • Ihre App muss auf das Navigation SDK (Version 16) oder höher ausgerichtet sein.

  • Zum Ausführen einer App, die mit dem Navigation SDK erstellt wurde, müssen auf dem Android-Gerät Google Play-Dienste installiert und aktiviert sein.

  • Quellenangaben und Lizenzierungstext müssen zur App hinzugefügt werden.

Projekte einrichten: Google Cloud Console-Projekt und Android-Projekt

Bevor Sie eine Anwendung erstellen oder testen können, müssen Sie ein Cloud Console-Projekt erstellen und Anmeldedaten für den API-Schlüssel hinzufügen. Das Projekt muss eine Nutzerverwaltung haben, damit Sie auf das Navigation SDK zugreifen können. Allen Schlüsseln innerhalb des Cloud Console-Projekts wird derselbe Zugriff auf das Navigation SDK gewährt. Einem Schlüssel können mehrere Entwicklungsprojekte zugeordnet sein. Wenn Sie bereits ein Konsolenprojekt haben, können Sie diesem einen Schlüssel hinzufügen.

Einrichtung

  1. Melden Sie sich in Ihrem bevorzugten Webbrowser, z. B. Chrome, in der Google Cloud Console an und erstellen Sie Ihr Google Cloud Console-Projekt.
  2. Erstellen Sie in Ihrer IDE, z. B. Android Studio, ein Android-App-Entwicklungsprojekt und notieren Sie sich den Paketnamen.
  3. Wenden Sie sich an Ihren Google Maps Platform-Ansprechpartner, um Zugriff auf das Navigation SDK für Ihr Google Cloud Console-Projekt zu gewähren.
  4. Erstellen Sie im Webbrowser im Dashboard der Google Cloud Console Anmeldedaten, um einen API-Schlüssel mit Einschränkungen zu generieren.
  5. Klicken Sie auf der Seite API-Schlüssel im Bereich *Anwendungseinschränkungen auf „Android-Apps“.
  6. Klicken Sie auf Paketname und Fingerabdruck hinzufügen und geben Sie dann den Paketnamen Ihres Entwicklungsprojekts und den SHA-1-Fingerabdruck für diesen Schlüssel ein.
  7. Klicken Sie auf Speichern.

Ihrer App das Navigation SDK hinzufügen

Das Navigation SDK ist als aar-Bundle verfügbar. Nachdem Sie das Entwicklungsprojekt erstellt haben, können Sie das SDK einbinden. In dieser Anleitung wird davon ausgegangen, dass Sie Android Studio für Ihre IDE verwenden.

  1. Laden Sie die ZIP-Datei für das Navigation SDK herunter und entpacken Sie sie.

  2. Öffnen Sie in Android Studio ein Projekt und fügen Sie das Paket Google Play-Dienste über den SDK-Manager hinzu.

  3. Kopieren Sie libs/google_navigation.aar aus dem ZIP-Dateiverzeichnis in das Verzeichnis app/libs Ihres Projekts.

Build konfigurieren

Nachdem Sie das Projekt erstellt haben, können Sie die Einstellungen für einen erfolgreichen Build und eine erfolgreiche Verwendung des Navigation SDK konfigurieren.

Lokale Unterkünfte aktualisieren

  • Öffnen Sie im Gradle Scripts-Ordner die Datei local.properties und fügen Sie android.useDeprecatedNdk=true hinzu.

Gradle-Build-Skript aktualisieren

  • Öffnen Sie die Datei build.gradle (Module:app) und aktualisieren Sie die Einstellungen anhand der folgenden Richtlinien, damit sie den Anforderungen für das Navigation SDK entsprechen. Legen Sie gegebenenfalls auch die Optimierungsoptionen fest.

    Erforderliche Einstellungen für Navigation SDK

    1. Legen Sie für minSdkVersion mindestens 16 fest.
    2. Legen Sie „targetSDKversion“ für API 21 fest, um die Verwaltung von Berechtigungen auf die API zu übertragen. Bei früheren Versionen müssen Sie die Berechtigungsabläufe in die App explizit einbeziehen.
    3. Fügen Sie eine dexOptions-Einstellung hinzu, mit der der javaMaxHeapSize erhöht wird.
    4. Legen Sie den Speicherort für zusätzliche Bibliotheken fest.
    5. Fügen Sie repositories und dependencies für das Navigation SDK hinzu.
    6. Ersetzen Sie die Versionsnummern in den Abhängigkeiten durch die neuesten verfügbaren Versionen.

    Optionale Einstellungen zur Verkürzung der Build-Dauer

    • Um die Build-Dauer für Ihre App zu verbessern
    • Aktivieren Sie ProGuard und die Ressourcenverkleinerung, um die Verwendung der Abhängigkeiten zu optimieren. Proguard entfernt nicht verwendeten Code und nicht verwendete Ressourcen aus Abhängigkeiten. Wenn der Proguard-Schritt zu lange ausgeführt wird, sollten Sie Multidex für Entwicklungsarbeiten aktivieren.
    • Reduzieren Sie die Anzahl der im Build enthaltenen Übersetzungen. Legen Sie während der Entwicklung resConfigs für eine Sprache fest. Legen Sie für den endgültigen Build resConfigs für die Sprachen fest, die Sie tatsächlich verwenden. Standardmäßig enthält Gradle Ressourcenstrings für alle vom Navigation SDK unterstützten Sprachen.

Unten sehen Sie ein Beispiel für das Gradle-Build-Skript für die Anwendung.

  
  apply plugin: 'com.android.application'

  ext {
      supportVersion = "27.1.1"
      lifecycle_version = "1.1.1"
  }

  android {
      compileSdkVersion 27
      buildToolsVersion '28.0.3'

      defaultConfig {
          applicationId "com.example.navigationapidemo"
          minSdkVersion 16
          targetSdkVersion 27
          versionCode 1
          versionName "1.0"
          resConfigs "en"
      }

      dexOptions {
          // This increases the amount of memory available to the dexer. This is
          // required to build apps using the Navigation SDK.
          javaMaxHeapSize "4g"
      }
      buildTypes {
          all {
              minifyEnabled true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
      }
  }

  // Specify where to find additional libraries and the location of google_navigation.aar file.
  repositories {
      flatDir {
          dirs 'libs'
      }
      google()
  }
  dependencies {
      api fileTree(include: ['*.jar'], dir: 'libs')

      // Include the Google Navigation API library
      api(name: 'google_navigation', ext: 'aar')

      // These dependencies are required for the Navigation API to function
      // properly at runtime.
      api "org.chromium.net:cronet-fallback:69.3497.100"
      // Optional for Cronet users:
      // api "org.chromium.net:cronet-api:69.3497.100"
      api "com.android.support:appcompat-v7:${supportVersion}"
      api "com.android.support:cardview-v7:${supportVersion}"
      api "com.android.support:design:${supportVersion}"
      api "com.android.support:mediarouter-v7:${supportVersion}"
      api "com.android.support:preference-v7:${supportVersion}"
      api "com.android.support:recyclerview-v7:${supportVersion}"
      api 'com.github.bumptech.glide:glide:4.9.0'
      api 'com.github.bumptech.glide:okhttp-integration:4.9.0'
      api "android.arch.lifecycle:common-java8:$lifecycle_version"
      api 'com.google.android.datatransport:transport-api:2.2.0'
      api 'com.google.android.datatransport:transport-backend-cct:2.2.0'
      api 'com.google.android.datatransport:transport-runtime:2.2.0'
      api 'joda-time:joda-time:2.9.9'

      // The Navigation SDK does not require the
      // Places API; however, the demo app for does.
      api 'com.google.android.gms:play-services-places:10.2.1'

      annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
  }

Manifest Ihrer App aktualisieren

  1. Öffnen Sie im Manifest-Ordner die Datei AndroidManifest.xml.

  2. Fügen Sie Ihren API-Schlüssel innerhalb des <application>-Elements hinzu. Sie müssen den API-Schlüssel verwenden, der in Ihrem Google Cloud Console-Projekt definiert ist, wie im oben beschriebenen Schritt beschrieben.

    In einem Teilmanifest, das in diesem Beispiel gezeigt wird, ersetzen Sie YOUR_API_KEY durch Ihren eigenen API-Schlüssel:

          <meta-data
              android:name="com.google.android.geo.API_KEY"
              android:value="YOUR_API_KEY"/>
    

    Das folgende vollständige Manifest zeigt die Einstellung für den API-Schlüssel und das leere intent für die MainActivity, die beim Start ausgeführt wird.

    
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.navigationapidemo" >
    
          <application
              android:allowBackup="true"
              android:icon="@mipmap/ic_launcher"
              android:label="@string/app_name"
              android:supportsRtl="true"
              android:theme="@style/_AppTheme" >
    
              <meta-data
                  android:name="com.google.android.geo.API_KEY"
                  android:value="YOUR_API_KEY"/>
    
              <activity android:name=".MainActivity" >
                  <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
                      <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
              </activity>
          </application>
        </manifest>
    
        ```
    

Nimm die erforderlichen Quellenangaben in deine App auf.

Wenn Sie das Navigation SDK for Android in Ihrer App verwenden, müssen Sie im Abschnitt mit den rechtlichen Hinweisen Ihrer App Quellenangaben und Open-Source-Lizenzen angeben.

Den erforderlichen Quellenangabentext und die Open-Source-Lizenzen finden Sie in der ZIP-Datei mit dem Navigation SDK for Android:

  • NOTICE.txt
  • LICENSES.txt

Nächster Schritt

Weitere Informationen zum Zeichnen von Routen