Le SDK Navigation est disponible via Maven. Après vous créez votre projet de développement, vous pouvez y intégrer le SDK en utilisant l'une des approches suivantes.
Utiliser Maven pour le SDK Navigation (recommandé)
La commande suivante utilise le dépôt Maven google()
, le plus simple
méthode recommandée pour ajouter le SDK Navigation à votre projet.
Ajoutez la dépendance suivante à votre configuration Gradle ou Maven : en remplaçant l'espace réservé
VERSION_NUMBER
par la version souhaitée du SDK Navigation pour Android.Gradle
Ajoutez le code suivant à votre
build.gradle
au niveau du module:dependencies { ... implementation 'com.google.android.libraries.navigation:navigation:VERSION_NUMBER' }
Maven
Ajoutez les éléments suivants à votre
pom.xml
:<dependencies> ... <dependency> <groupId>com.google.android.libraries.navigation</groupId> <artifactId>navigation</artifactId> <version>VERSION_NUMBER</version> </dependency> </dependencies>
Si vous avez des dépendances qui utilisent le SDK Maps, vous devez exclure la dépendance dans chaque dépendance déclarée qui dépend du SDK Maps.
Gradle
Ajoutez les éléments suivants à votre fichier
build.gradle
de premier niveau:allprojects { ... // Required: you must exclude the Google Play service Maps SDK from // your transitive dependencies. This is to ensure there won't be // multiple copies of Google Maps SDK in your binary, as the Navigation // SDK already bundles the Google Maps SDK. configurations { implementation { exclude group: 'com.google.android.gms', module: 'play-services-maps' } } }
Maven
Ajoutez les éléments suivants à votre
pom.xml
:<dependencies> <dependency> <groupId>project.that.brings.in.maps</groupId> <artifactId>MapsConsumer</artifactId> <version>1.0</version> <exclusions> <!-- Navigation SDK already bundles Maps SDK. You must exclude it to prevent duplication--> <exclusion> <!-- declare the exclusion here --> <groupId>com.google.android.gms</groupId> <artifactId>play-services-maps</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
Configurer la compilation
Après avoir créé le projet, vous pouvez configurer les paramètres d'une créer et utiliser correctement le SDK Navigation ;
Mettre à jour les établissements en magasin
- Dans le dossier Gradle Scripts (Scripts Gradle), ouvrez le fichier
local.properties
et ajoutezandroid.useDeprecatedNdk=true
Mettre à jour le script de compilation Gradle
Ouvrez le fichier
build.gradle (Module:app)
et suivez les consignes ci-dessous pour mettre à jour les paramètres afin qu'ils répondent aux exigences le SDK Navigation et envisagez de définir des options d'optimisation.Paramètres requis pour le SDK Navigation
- Définissez
minSdkVersion
sur 23 ou une version ultérieure. - Définissez
targetSdkVersion
sur 33 ou plus. - Ajoutez un paramètre
dexOptions
qui augmente lajavaMaxHeapSize
. - Définissez l'emplacement des bibliothèques supplémentaires.
- Ajoutez
repositories
etdependencies
pour SDK Navigation. - Remplacez les numéros de version des dépendances par les derniers versions disponibles.
Paramètres facultatifs pour réduire la durée de compilation
- Activez la minification de code et la gestion rétrécir utiliser R8/ProGuard pour supprimer le code et les ressources inutilisés des dépendances. Si l'étape R8/ProGuard prend trop de temps, pensez à activer multidex pour les tâches de développement.
- Réduire le nombre de langues incluses dans la version: Définir
resConfigs
pour une langue pendant le développement. Pour le build final, définissezresConfigs
pour les langues que vous utilisez réellement. Par défaut, Gradle inclut des chaînes de ressources pour toutes les langues prises en charge par SDK Navigation.
Ajout de la désucrage pour la prise en charge de Java 8
- Si vous compilez votre application à l'aide du plug-in Android Gradle 4.0.0 ou le plug-in étend la prise en charge de plusieurs langages Java 8. API. Voir Désucrage Java 8 assistance pour en savoir plus. Consultez l'exemple d'extrait de script de compilation ci-dessous pour savoir comment de compilation et de dépendance.
- Définissez
Vous trouverez ci-dessous un exemple de script de compilation Gradle pour l'application. Consultez le applications exemples pour les ensembles de dépendances mis à jour, en tant que version de Le SDK Navigation que vous utilisez peut être légèrement en avance ou derrière cette documentation.
apply plugin: 'com.android.application'
ext {
navSdk = "__NAVSDK_VERSION__"
}
android {
compileSdk 33
buildToolsVersion='28.0.3'
defaultConfig {
applicationId "<your id>"
// Navigation SDK supports SDK 23 and later.
minSdkVersion 23
targetSdkVersion 33
versionCode 1
versionName "1.0"
// Set this to the languages you actually use, otherwise you'll include resource strings
// for all languages supported by the Navigation SDK.
resConfigs "en"
multiDexEnabled true
}
dexOptions {
// This increases the amount of memory available to the dexer. This is required to build
// apps using the Navigation SDK.
javaMaxHeapSize "4g"
}
buildTypes {
// Run ProGuard. Note that the Navigation SDK includes its own ProGuard configuration.
// The configuration is included transitively by depending on the Navigation SDK.
// If the ProGuard step takes too long, consider enabling multidex for development work
// instead.
all {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
repositories {
// Navigation SDK for Android and other libraries are hosted on Google's Maven repository.
google()
}
dependencies {
// Include the Google Navigation SDK.
// Note: remember to exclude Google Play service Maps SDK from your transitive
// dependencies to avoid duplicate copies of the Google Maps SDK.
api "com.google.android.libraries.navigation:navigation:${navSdk}"
// Declare other dependencies for your app here.
annotationProcessor "androidx.annotation:annotation:1.7.0"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.9'
}
Ajouter la clé API à votre application
Cette section explique comment stocker votre clé API pour qu'elle puisse être référencée de manière sécurisée par votre application. Vous ne devez pas enregistrer votre clé API dans votre système de contrôle des versions. Nous vous recommandons donc de la stocker dans le fichier secrets.properties
, qui se trouve dans le répertoire racine de votre projet. Pour en savoir plus sur le fichier secrets.properties
, consultez Fichiers de propriétés Gradle.
Pour vous faciliter la tâche, nous vous recommandons d'utiliser le plug-in Secrets Gradle pour Android.
Pour installer le plug-in Secrets Gradle pour Android dans votre projet Google Maps :
-
Dans Android Studio, ouvrez votre fichier
build.gradle.kts
oubuild.gradle
de premier niveau et ajoutez le code suivant à l'élémentdependencies
sousbuildscript
.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Groovy
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Ouvrez le fichier
build.gradle.kts
oubuild.gradle
au niveau du module et ajoutez-le le code suivant à l'élémentplugins
.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Dans le fichier
build.gradle.kts
oubuild.gradle
au niveau du module, assurez-vous quetargetSdk
etcompileSdk
sont définis à 34 ans. - Enregistrez le fichier et synchronisez votre projet avec Gradle.
-
Ouvrez le fichier
secrets.properties
dans votre répertoire de premier niveau et ajoutez le code suivant. RemplacezYOUR_API_KEY
par votre clé API. Stockez votre clé dans ce fichier, carsecrets.properties
n'est pas vérifié dans un système de contrôle des versions.NAV_API_KEY=YOUR_API_KEY
- Enregistrez le fichier.
-
Créez le fichier
local.defaults.properties
dans votre répertoire de premier niveau (même dossier que le fichiersecrets.properties
), puis ajoutez le code suivant.NAV_API_KEY=DEFAULT_API_KEY
Ce fichier a pour but de fournir un emplacement de sauvegarde de la clé API, à utiliser si le fichier
secrets.properties
est introuvable pour éviter l'échec des créations. Cette situation peut se produire si vous clonez l'application à partir d'un système de contrôle des versions qui ometsecrets.properties
et que vous n'avez pas encore créé de fichiersecrets.properties
localement pour fournir votre clé API. - Enregistrez le fichier.
-
Dans votre fichier
AndroidManifest.xml
, accédez àcom.google.android.geo.API_KEY
, puis modifiez leandroid:value attribute
. Si le tag<meta-data>
n'existe pas, créez-le comme enfant du tag<application>
.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Remarque:
com.google.android.geo.API_KEY
est le nom de métadonnées recommandé. pour la clé API. Une clé portant ce nom peut être utilisée pour s'authentifier auprès de plusieurs API basées sur Google Maps sur la plate-forme Android, y compris SDK Navigation pour Android Pour assurer la rétrocompatibilité, l'API accepte également le nomcom.google.android.maps.v2.API_KEY
. Cette ancienne version permet uniquement l'authentification auprès de l'API Google Maps Android v2. Une application peut ne spécifiez qu'un seul des noms de métadonnées de clé API. Si les deux noms sont spécifiés, l'API génère une exception. -
Dans Android Studio, ouvrez votre
build.gradle.kts
au niveau du module oubuild.gradle
et modifiez la propriétésecrets
. Si le La propriétésecrets
n'existe pas. Ajoutez-la.Modifiez les propriétés du plug-in pour définir
propertiesFileName
sursecrets.properties
, définirdefaultPropertiesFileName
surlocal.defaults.properties
et définissez toutes les autres propriétés.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Inclure les attributions requises dans votre application
Si vous utilisez le SDK Navigation pour Android dans votre application, vous devez inclure texte d'attribution et licences Open Source dans les mentions légales de votre application. .
Vous trouverez le texte d'attribution et les licences Open Source requis dans la Fichier ZIP du SDK Navigation pour Android:
NOTICE.txt
LICENSES.txt
Si vous êtes un client Mobility ou Fleet Engine Deliveries
Si vous êtes client Mobility ou Fleet Engine Deliveries, découvrez les dans la documentation sur la mobilité. Pour en savoir plus sur l'enregistrement des transactions, consultez Configurer la facturation Enregistrer des transactions facturables Rapports Enregistrer des transactions facturables (Android)