Configuration du projet

Ce guide présente les exigences de configuration de compilation requises pour utiliser le SDK Navigation pour Android. Ces instructions partent du principe que vous avez installé un IDE Android et que vous maîtrisez le développement Android.

Configuration minimale requise pour utiliser le SDK Navigation

  • Un projet de la console Google Cloud avec le SDK Navigation activé Pour le provisionnement, contactez votre représentant Google Maps Platform.

  • Votre application doit cibler le SDK Navigation (version 16) ou ultérieure.

  • Pour exécuter une application créée avec le SDK Navigation, les services Google Play doivent être installés et activés sur l'appareil Android.

  • Les mentions et le texte des licences doivent être ajoutés à l'application.

Configurer vos projets: projet de la console Google Cloud et projet Android

Avant de pouvoir compiler ou tester une application, vous devez créer un projet dans la console Cloud et ajouter des identifiants de clé API. Le projet doit disposer du provisionnement pour accéder au SDK Navigation. Toutes les clés du projet Cloud Console disposent du même accès au SDK Navigation. Une clé peut être associée à plusieurs projets de développement. Si vous disposez déjà d'un projet de console, vous pouvez ajouter une clé à votre projet actuel.

Configuration

  1. Dans votre navigateur Web favori (tel que Chrome), connectez-vous à la console Google Cloud et créez votre projet dans la console Google Cloud.
  2. Dans votre IDE, tel qu'Android Studio, créez un projet de développement d'applications Android et notez le nom du package.
  3. Contactez votre représentant Google Maps Platform afin qu'il vous donne accès au SDK Navigation pour votre projet dans la console Google Cloud.
  4. Dans le tableau de bord de la console Google Cloud dans votre navigateur Web, créez des identifiants pour générer une clé API avec restrictions.
  5. Sur la page Clé API, cliquez sur "Applications Android" dans la zone *Restrictions relatives aux applications.
  6. Cliquez sur Ajouter le nom du package et l'empreinte, puis saisissez le nom du package de votre projet de développement et l'empreinte SHA-1 de cette clé.
  7. Cliquez sur Enregistrer.

Ajouter le SDK Navigation à votre application

Le SDK Navigation est disponible sous la forme d'un bundle AAR. Après avoir créé le projet de développement, vous pouvez intégrer le SDK. Ces instructions supposent l'utilisation d'Android Studio pour votre IDE.

  1. Téléchargez et décompressez le fichier ZIP du SDK Navigation.

  2. Dans Android Studio, ouvrez un projet et ajoutez le package des services Google Play à l'aide de SDK Manager.

  3. À partir du répertoire de fichiers ZIP, copiez libs/google_navigation.aar dans le répertoire app/libs de votre projet.

Configurer la compilation

Une fois le projet créé, vous pouvez configurer les paramètres pour assurer le succès de la compilation et de l'utilisation du SDK Navigation.

Mettre à jour les propriétés locales

  • Dans le dossier Scripts Gradle, ouvrez le fichier local.properties et ajoutez android.useDeprecatedNdk=true.

Mettre à jour le script de compilation Gradle

  • Ouvrez le fichier build.gradle (Module:app) et suivez les instructions ci-dessous pour mettre à jour les paramètres afin de répondre aux exigences du SDK Navigation. Envisagez également de définir les options d'optimisation.

    Paramètres requis pour le SDK Navigation

    1. Définissez minSdkVersion sur 16 ou plus.
    2. Définissez "targetSDKversion" pour l'API 21 afin de transférer la gestion des autorisations vers l'API. Pour les versions précédentes, vous devez inclure explicitement les flux d'autorisations dans votre application.
    3. Ajoutez un paramètre dexOptions qui augmente la valeur de javaMaxHeapSize.
    4. Définissez l'emplacement des bibliothèques supplémentaires.
    5. Ajoutez repositories et dependencies pour le SDK Navigation.
    6. Remplacez les numéros de version des dépendances par les dernières versions disponibles.

    Paramètres facultatifs permettant de réduire la durée de la compilation

    • Pour réduire la durée de compilation de votre application
    • Pour optimiser l'utilisation des dépendances, activez ProGuard et la réduction des ressources. ProGuard supprime le code et les ressources inutilisés des dépendances. Si l'étape ProGuard s'exécute trop longtemps, envisagez d'activer multidex pour les tâches de développement.
    • Réduisez le nombre de traductions incluses dans le build. Définissez resConfigs pour une langue pendant le développement. Dans la version finale, définissez "resConfigs" pour les langages que vous utilisez réellement. Par défaut, Gradle inclut des chaînes de ressources pour toutes les langues compatibles avec le SDK Navigation.

Vous trouverez ci-dessous un exemple de script de compilation Gradle pour l'application.

  
  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'
  }

Mettre à jour le fichier manifeste de votre application

  1. Dans le dossier manifeste, ouvrez le fichier AndroidManifest.xml.

  2. Ajoutez votre clé API dans l'élément <application>. Vous devez utiliser la clé API définie dans le projet de la console Google Cloud décrit à l'étape ci-dessus.

    Dans un fichier manifeste partiel présenté dans cet exemple, vous devez remplacer YOUR_API_KEY par votre propre clé API:

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

    Un fichier manifeste complet ci-dessous affiche le paramètre de la clé API et le champ intent vide pour le MainActivity qui s'exécute au démarrage.

    
      <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>
    
        ```
    

Inclure les attributions requises dans votre application

Si vous utilisez le SDK Navigation pour Android dans votre application, vous devez inclure un texte d'attribution et des licences Open Source dans la section des mentions légales de votre application.

Vous trouverez le texte d'attribution et les licences Open Source requis dans le fichier ZIP du SDK Navigation pour Android:

  • NOTICE.txt
  • LICENSES.txt

Étape suivante

Découvrez comment tracer un itinéraire.