Konfigurasi Project

Panduan ini mencantumkan persyaratan konfigurasi build untuk menggunakan Navigation SDK for Android. Petunjuk ini mengasumsikan bahwa Anda telah menginstal Android IDE dan sudah memahami pengembangan Android.

Persyaratan minimum untuk menggunakan Navigation SDK

  • Project Konsol Google Cloud dengan Navigation SDK diaktifkan. Untuk penyediaan, tanyakan kepada perwakilan Google Maps Platform Anda.

  • Aplikasi Anda harus menargetkan Navigation SDK (Versi 16) atau yang lebih tinggi.

  • Untuk menjalankan aplikasi yang dibuat dengan Navigation SDK, perangkat Android harus menginstal dan mengaktifkan layanan Google Play.

  • Teks atribusi dan pemberian lisensi harus ditambahkan ke aplikasi.

Menyiapkan project: Project Konsol Google Cloud dan project Android

Sebelum dapat membangun atau menguji aplikasi, Anda harus membuat project Konsol Cloud dan menambahkan kredensial kunci API. Project harus memiliki penyediaan untuk mengakses Navigation SDK. Semua kunci dalam project Konsol Cloud diberi akses yang sama ke Navigation SDK. Sebuah kunci dapat memiliki lebih dari satu project pengembangan yang terkait dengannya. Jika sudah memiliki project konsol, Anda dapat menambahkan kunci ke project saat ini.

Untuk menyiapkan

  1. Di browser web favorit Anda, seperti Chrome, login ke Konsol Google Cloud dan buat project Konsol Google Cloud.
  2. Di IDE, seperti Android Studio, buat project pengembangan aplikasi Android dan catat nama paketnya.
  3. Hubungi perwakilan Google Maps Platform untuk memberikan akses ke Navigation SDK untuk project Konsol Google Cloud Anda.
  4. Saat berada di dasbor Konsol Google Cloud di browser web Anda, buat kredensial untuk membuat kunci API dengan pembatasan.
  5. Di halaman API key, klik Aplikasi Android di area *Application restrictions.
  6. Klik Add the package name and fingerprint, lalu masukkan nama paket project pengembangan Anda dan sidik jari SHA-1 untuk kunci tersebut.
  7. Klik Save.

Menambahkan Navigation SDK ke aplikasi

Navigation SDK tersedia sebagai paket aar. Setelah membuat project pengembangan, Anda dapat mengintegrasikan SDK. Petunjuk ini mengasumsikan penggunaan Android Studio untuk IDE Anda.

  1. Download dan ekstrak file ZIP Navigation SDK.

  2. Di Android Studio, buka project dan tambahkan paket layanan Google Play menggunakan SDK Manager.

  3. Dari direktori file zip, salin libs/google_navigation.aar ke direktori app/libs project Anda.

Mengonfigurasi build

Setelah membuat project, Anda dapat mengonfigurasi setelan untuk build dan penggunaan Navigation SDK yang berhasil.

Perbarui properti lokal

  • Dalam folder Gradle Scripts, buka file local.properties, lalu tambahkan android.useDeprecatedNdk=true.

Mengupdate skrip build Gradle

  • Buka file build.gradle (Module:app) dan gunakan panduan berikut untuk memperbarui setelan agar memenuhi persyaratan Navigation SDK dan juga mempertimbangkan untuk menetapkan opsi pengoptimalan.

    Setelan yang diperlukan untuk Navigation SDK

    1. Tetapkan minSdkVersion ke 16 atau lebih tinggi.
    2. Setel 'targetSDKversion' untuk API 21 guna mengalihkan penanganan izin ke API. Untuk versi sebelumnya, Anda perlu secara eksplisit menyertakan alur izin dalam aplikasi Anda.
    3. Tambahkan setelan dexOptions yang meningkatkan javaMaxHeapSize.
    4. Tetapkan lokasi untuk library tambahan.
    5. Menambahkan repositories dan dependencies untuk Navigation SDK.
    6. Ganti nomor versi dalam dependensi dengan versi terbaru yang tersedia.

    Setelan opsional untuk mengurangi waktu build

    • Untuk memperbaiki waktu build aplikasi Anda
    • Untuk mengoptimalkan penggunaan dependensi, aktifkan ProGuard dan penyingkatan resource. Proguard menghapus kode dan resource yang tidak digunakan dari dependensi. Jika langkah proguard berjalan terlalu lama, pertimbangkan untuk mengaktifkan multidex untuk pekerjaan pengembangan.
    • Mengurangi jumlah terjemahan bahasa yang disertakan dalam build. Tetapkan resConfigs untuk satu bahasa selama pengembangan. Untuk build akhir, tetapkan 'resConfigs' untuk bahasa yang sebenarnya Anda gunakan. Secara default, Gradle menyertakan string resource untuk semua bahasa yang didukung oleh Navigation SDK.

Berikut adalah contoh skrip build Gradle untuk aplikasi.

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

Mengupdate manifes aplikasi

  1. Di folder Manifes, buka file AndroidManifest.xml.

  2. Tambahkan kunci API Anda dalam elemen <application>. Anda harus menggunakan kunci API yang ditentukan dalam project Google Cloud Console yang dijelaskan pada langkah di atas.

    Dalam manifes parsial yang ditampilkan dalam contoh ini, Anda akan mengganti YOUR_API_KEY dengan kunci API Anda sendiri:

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

    Manifes lengkap di bawah menunjukkan setelan untuk kunci API dan intent kosong untuk MainActivity yang berjalan saat browser mulai dijalankan.

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

Menyertakan atribusi yang diperlukan dalam aplikasi Anda

Jika menggunakan Navigation SDK for Android di aplikasi, Anda harus menyertakan teks atribusi dan lisensi open source sebagai bagian dari bagian pemberitahuan hukum aplikasi Anda.

Anda dapat menemukan teks atribusi dan lisensi open source yang diperlukan di file ZIP Navigation SDK untuk Android:

  • NOTICE.txt
  • LICENSES.txt

Langkah berikutnya

Pelajari cara memetakan rute.