Proje Yapılandırması

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

  1. Chrome gibi en sevdiğiniz web tarayıcısında Google Cloud Console'da oturum açın ve Google Cloud Console projenizi oluşturun.
  2. IDE (ör. Android Studio) bir Android uygulaması geliştirme projesi oluşturun ve paket adını not edin.
  3. Google Cloud Console projeniz için Navigasyon SDK'sına erişim izni vermek amacıyla Google Haritalar Platformu temsilcinizle iletişime geçin.
  4. Web tarayıcınızda Google Cloud Console kontrol panelinde, kısıtlamalı API anahtarı oluşturmak için kimlik bilgileri oluşturun.
  5. API anahtarı sayfasında, *Uygulama kısıtlamaları alanında Android uygulamaları'nı tıklayın.
  6. 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.
  7. 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.

  1. Gezinme SDK'si zip dosyasını indirin ve sıkıştırılmış dosyayı açın.

  2. Android Studio'da bir proje açın ve SDK yöneticisini kullanarak Google Play hizmetleri paketini ekleyin.

  3. Zip dosyası dizininden libs/google_navigation.aar dosyasını projenizin app/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 ve android.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

    1. minSdkVersion değerini 16 veya üzeri bir değere ayarlayın.
    2. İ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.
    3. javaMaxHeapSize değerini artıran bir dexOptions ayarı ekleyin.
    4. Ek kitaplıkların konumunu ayarlayın.
    5. Gezinme SDK'si için repositories ve dependencies öğelerini ekleyin.
    6. 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

  1. Manifest klasöründe AndroidManifest.xml dosyasını açın.

  2. 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.