Gezinme SDK'sı Maven üzerinden kullanılabilir. Şu tarihten sonra: sonra, geliştirme projenizi oluşturmak için Google API'yi kullanarak biri olabilir.
Gezinme SDK'sı için Maven'i kullanma (önerilen)
Aşağıda, en basit ve en basit araç olan google()
Maven deposu kullanılmaktadır.
gezinme SDK'sını projenize eklemenin önerilen yolunu inceleyin.
Gradle veya Maven yapılandırmanıza şu bağımlılığı ekleyin: yerine
VERSION_NUMBER
yer tutucusunu sürümünü kullanabilirsiniz.Gradle
Modül düzeyindeki
build.gradle
dosyanıza aşağıdakileri ekleyin:dependencies { ... implementation 'com.google.android.libraries.navigation:navigation:VERSION_NUMBER' }
Maven
pom.xml
cihazınıza şunları ekleyin:<dependencies> ... <dependency> <groupId>com.google.android.libraries.navigation</groupId> <artifactId>navigation</artifactId> <version>VERSION_NUMBER</version> </dependency> </dependencies>
Haritalar SDK'sını kullanan bağımlılıkları varsa Haritalar SDK'sına dayanan her beyan edilen bağımlılıkta bağımlılığı hariç tutmanız gerekir.
Gradle
Üst düzey
build.gradle
sayfanıza şu öğeleri ekleyin: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
pom.xml
cihazınıza şunları ekleyin:<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>
Derlemeyi yapılandırma
Projeyi oluşturduktan sonra, Navigation SDK'nın başarılı bir şekilde derlenmesi ve kullanılması için ayarları yapılandırabilirsiniz.
Yerel mülkleri güncelleme
- Gradle Komut Dosyaları klasöründe,
local.properties
dosyasını açın veandroid.useDeprecatedNdk=true
.
Gradle derleme komut dosyasını güncelleme
build.gradle (Module:app)
dosyasını açın ve ayarları Navigation SDK'sının koşullarını karşılayacak şekilde güncellemek için aşağıdaki yönergeleri kullanın. Ayrıca optimizasyon seçeneklerini de ayarlayabilirsiniz.Navigasyon SDK'sı için gerekli ayarlar
minSdkVersion
değerini 23 veya daha yüksek bir değere ayarlayın.targetSdkVersion
değerini 33 veya daha yüksek bir değere ayarlayın.javaMaxHeapSize
değerini artıran birdexOptions
ayarı ekleyin.- Ek kitaplıkların konumunu ayarlayın.
- Şu öğe için
repositories
vedependencies
ekleyin: Gezinme SDK'sı. - Bağımlılıklardaki sürüm numaralarını en son sürüm numarasıyla değiştirin kullanılabilir.
Derleme süresini kısaltmak için isteğe bağlı ayarlar
- Kod küçültmeyi ve kaynağı etkinleştirin küçülme bağımlılıklardan kullanılmayan kodu ve kaynakları kaldırmak için R8/ProGuard kullanarak. Eğer R8/ProGuard adımının çalışması çok fazla zaman alıyor. multidex üzerine konuşacağız.
- Derlemeye dahil edilen dil çevirilerinin sayısını azaltın: Set
Geliştirme sırasında bir dil için
resConfigs
. Nihai derleme için kullandığınız diller içinresConfigs
değerini ayarlayın. Gradle, varsayılan olarak Navigation SDK'sı tarafından desteklenen tüm diller için kaynak dizeleri içerir.
Java8 desteği için şeker azaltma ekleme
- Uygulamanızı Android Gradle eklentisi 4.0.0 veya daha yüksek olursa eklenti, birkaç Java 8 dilinin kullanılmasına yönelik desteği de genişletir API'ler. Bkz. Java 8 desugaring destek konulu videomuzu izleyin. Derleme ve bağımlılık seçenekleri için aşağıdaki örnek derleme komut dosyası snippet'ine bakın.
Aşağıda, uygulamanın Gradle derleme komut dosyası örneği verilmiştir. Kullandığınız Navigation SDK'sının sürümü bu dokümanların biraz ilerisinde veya gerisinde olabileceğinden, güncellenmiş bağımlılık grupları için örnek uygulamaları kontrol edin.
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'
}
API anahtarını uygulamanıza ekleyin
Bu bölümde, API anahtarınızı uygulamanız tarafından güvenli bir şekilde referans verilebilmesi için nasıl saklamanız gerektiği açıklanmaktadır. API anahtarınızı sürüm kontrol sisteminize eklememeniz gerektiğinden, anahtarı projenizin kök dizininde bulunan secrets.properties
dosyasında saklamanızı öneririz. secrets.properties
dosyası hakkında daha fazla bilgi için bkz.
Gradle özellikleri dosyaları.
Bu görevi kolaylaştırmak için Android için Secrets Gradle Plugin.
Google Haritalar projenize Android için Secrets Gradle Eklentisi'ni yüklemek için:
-
Android Studio'da üst düzey
build.gradle.kts
veyabuild.gradle
dosyasını seçin ve aşağıdaki kodu altındakidependencies
öğesine ekleyinbuildscript
.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Modern
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızı açıpplugins
öğesine aşağıdaki kodu ekleyin.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Modern
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızdatargetSdk
vecompileSdk
değerlerinin 34 olarak ayarlandığından emin olun. - Dosyayı kaydedin ve projenizi Gradle ile senkronize edin.
-
secrets.properties
dosyasını en üst düzey dizininizde açın ve şunu ekleyin: aşağıdaki kodu kullanabilirsiniz.YOUR_API_KEY
kısmını API anahtarınızla değiştirin. Anahtarınızı bu dosyada depolayın çünküsecrets.properties
, sürüm kontrolüne kontrol edilmekten hariç tutuldu bahsedeceğim.NAV_API_KEY=YOUR_API_KEY
- Dosyayı kaydedin.
-
Üst düzey dizininizde
local.defaults.properties
dosyasını oluşturun. klasörünüsecrets.properties
dosyası olarak kaydedin, ardından aşağıdaki kodu ekleyin.NAV_API_KEY=DEFAULT_API_KEY
Bu dosyanın amacı, Derlemelerin başarısız olmaması için
secrets.properties
dosyası bulunamadı. Bu durum, Uygulamayısecrets.properties
vesecrets.properties
içermeyen bir sürüm kontrol sisteminden klonlarsınız sağlamak için henüz yerel olarak birsecrets.properties
dosyası oluşturmadınız API anahtarı. - Dosyayı kaydedin.
-
AndroidManifest.xml
dosyanızda şuna gidin:com.google.android.geo.API_KEY
veandroid:value attribute
öğesini güncelleyin.<meta-data>
etiketi mevcut değilse bunu<application>
etiketi.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Not:
com.google.android.geo.API_KEY
önerilen meta veri adıdır girin. Bu ada sahip bir anahtar, birden fazla kimlik doğrulamasında kullanılabilir Android platformundaki Google Haritalar tabanlı Google Haritalar tabanlı API'ler: Android için Navigasyon SDK'sı. Geriye dönük uyumluluk için API ayrıcacom.google.android.maps.v2.API_KEY
adını destekler. Bu eski ad yalnızca Android Maps API v2'de kimlik doğrulamasına izin verir. Bir uygulama API anahtarı meta veri adlarından yalnızca birini belirtme. Her ikisi de belirtilmişse API bir istisna oluşturur. -
Android Studio'da modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyasını açın vesecrets
özelliğini düzenleyin.secrets
özelliği yoksa ekleyin.propertiesFileName
eklentisini şuna ayarlamak için eklentinin özelliklerini düzenleyin:secrets.properties
,defaultPropertiesFileName
değerini şu şekilde ayarla:local.defaults.properties
ve diğer özellikleri ayarlayın.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.*" }
Modern
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.*" }
Uygulamanıza gerekli atıfları dahil edin
Uygulamanızda Android için Navigasyon SDK'sını kullanıyorsanız uygulamanızın yasal uyarılarının bir parçası olarak atıf metni ve açık kaynak lisansları bölümüne bakın.
Gerekli atıf metnini ve açık kaynak lisanslarını şurada bulabilirsiniz: Android zip dosyası için gezinme SDK'sı:
NOTICE.txt
LICENSES.txt
Mobility veya Fleet Engine Deliveries müşterisiyseniz
Mobility veya Fleet Engine Deliveries müşterisiyseniz aşağıdaki konular hakkında daha fazla bilgi edinin: Mobilite belgelerinde faturalandırma. Daha fazla bilgi için işlemleri kaydetmeye devam etmek için Faturalandırma ayarlarını yapın, Faturalandırılabilir işlemleri kaydetme, Raporlama ve Faturalandırılabilir işlemleri kaydedin (Android).