Bu kılavuzda, Android için Gezinme SDK'sının kullanımıyla ilgili derleme yapılandırması gereksinimleri listelenmektedir. Talimatlarda Android IDE'nizin yüklü olduğu ve Android geliştirme konusunda bilgi sahibi olduğunuz varsayılır.
Gezinme SDK'sı kullanımı için minimum gereksinimler
Gezinme SDK'sinin etkinleştirildiği bir Google Cloud Console projesi. Temel hazırlık için Google Haritalar Platformu temsilcinizden bilgi isteyin.
Uygulamanız, Navigation SDK'sını (Sürüm 16) veya sonraki bir sürümü hedeflemelidir.
Navigasyon SDK'sı ile oluşturulmuş bir uygulamayı çalıştırmak için Android cihazda Google Play Hizmetleri yüklü ve etkin olmalıdır.
Atıflar ve lisanslama metni uygulamaya eklenmelidir.
Projelerinizi oluşturun: Google Cloud Console projesi ve Android projesi
Bir uygulamayı derlemeden veya test etmeden önce bir Cloud Console projesi oluşturmanız ve API anahtarı kimlik bilgilerini eklemeniz gerekir. Gezinme SDK'sına erişmek için projede temel hazırlık yapılması gerekir. Cloud Console projesindeki tüm anahtarlara Gezinme SDK'sına aynı erişim izni verilir. Bir anahtarla ilişkili birden fazla geliştirme projesi olabilir. Zaten bir konsol projeniz varsa mevcut projenize anahtar ekleyebilirsiniz.
Ayarlamak için
- Chrome gibi en sevdiğiniz web tarayıcısında Google Cloud Console'da oturum açın ve Google Cloud Console projenizi oluşturun.
- IDE (ör. Android Studio) bir Android uygulaması geliştirme projesi oluşturun ve paket adını not edin.
- Google Cloud Console projeniz için Navigasyon SDK'sına erişim izni vermek amacıyla Google Haritalar Platformu temsilcinizle iletişime geçin.
- Web tarayıcınızda Google Cloud Console kontrol panelinde, kısıtlamalı API anahtarı oluşturmak için kimlik bilgileri oluşturun.
- API anahtarı sayfasında, *Uygulama kısıtlamaları alanında Android uygulamaları'nı tıklayın.
- Paket adını ve parmak izini ekle'yi tıklayıp geliştirme projenizin paket adını ve bu anahtar için SHA-1 parmak izini girin.
- Kaydet'i tıklayın.
Gezinme SDK'sını uygulamanıza ekleme
Gezinme SDK'sı bir aar paketi olarak sunulur. Geliştirme projesini oluşturduktan sonra SDK'yı entegre edebilirsiniz. Bu talimatlarda, IDE'niz için Android Studio'nun kullanıldığı varsayılmıştır.
Gezinme SDK'si zip dosyasını indirin ve sıkıştırılmış dosyayı açın.
Android Studio'da bir proje açın ve SDK yöneticisini kullanarak Google Play hizmetleri paketini ekleyin.
Zip dosyası dizininden
libs/google_navigation.aar
dosyasını projenizinapp/libs
dizinine kopyalayın.
Derlemeyi yapılandırma
Projeyi oluşturduktan sonra, Navigasyon SDK'sını başarılı bir şekilde oluşturmak ve kullanmak için ayarları yapılandırabilirsiniz.
Yerel mülkleri güncelle
- Gradle Komut Dosyaları klasöründe
local.properties
dosyasını açın veandroid.useDeprecatedNdk=true
dosyasını ekleyin.
Gradle derleme komut dosyasını güncelleme
build.gradle (Module:app)
dosyasını açın ve ayarları, Gezinme SDK'sı gereksinimlerini karşılayacak şekilde güncellemek ve optimizasyon seçeneklerini belirlemek için aşağıdaki yönergeleri kullanın.Navigasyon SDK'sı için gerekli ayarlar
minSdkVersion
değerini 16 veya üzeri bir değere ayarlayın.- İzin işlemesini API'ye kaydırmak için API 21'in "targetSDKversion" ayarını yapın. Önceki sürümler için uygulamanıza izin akışlarını açıkça eklemeniz gerekir.
javaMaxHeapSize
değerini artıran birdexOptions
ayarı ekleyin.- Ek kitaplıkların konumunu ayarlayın.
- Gezinme SDK'si için
repositories
vedependencies
öğelerini ekleyin. - Bağımlılıklardaki sürüm numaralarını mevcut en son sürümlerle değiştirin.
Derleme süresini kısaltmak için isteğe bağlı ayarlar
- Uygulamanızın derleme süresini iyileştirmek için
- Bağımlılıkların kullanımını optimize etmek için ProGuard ve kaynak daraltma özelliğini etkinleştirin. ProGuard, kullanılmayan kodları ve kaynakları bağımlılıklardan kaldırır. ProGuard adımı çok uzun sürerse geliştirme çalışmaları için multidex'i etkinleştirmeyi düşünün.
- Yapıya eklenen dil çevirisi sayısını azaltın. Geliştirme sırasında bir dil için
resConfigs
değerini ayarlayın. Son derleme için, gerçekten kullandığınız dillere yönelik "resConfigs" özelliğini ayarlayın. Varsayılan olarak Gradle, Gezinme SDK'sı tarafından desteklenen tüm diller için kaynak dizeleri içerir.
Aşağıda, uygulama için Gradle derleme komut dosyası örneği verilmiştir.
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'
}
Uygulamanızın manifest dosyasını güncelleyin
Manifest klasöründe
AndroidManifest.xml
dosyasını açın.API anahtarınızı
<application>
öğesine ekleyin. Yukarıdaki adımda açıklanan Google Cloud Console projenizde tanımlanan API anahtarını kullanmanız gerekir.Bu örnekte gösterilen kısmi bir manifestte,
YOUR_API_KEY
yerine kendi API anahtarınızla değiştirmeniz gerekir:<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>
Aşağıdaki manifestin tamamı, API anahtarı ayarını ve başlangıçta çalışan
MainActivity
için boşintent
değerini göstermektedir.<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> ```
Gerekli ilişkilendirmeleri uygulamanıza dahil edin
Uygulamanızda Android için Gezinme SDK'sını kullanıyorsanız uygulamanızın yasal uyarılar bölümüne atıf metni ve açık kaynak lisansları eklemeniz gerekir.
Gerekli ilişkilendirme metnini ve açık kaynak lisanslarını Android için Gezinme SDK'sı zip dosyasında bulabilirsiniz:
NOTICE.txt
LICENSES.txt
Sonraki adım
Rota çizmeyi öğrenin.