Cấu hình dự án

Hướng dẫn này trình bày các yêu cầu về cấu hình bản dựng để sử dụng SDK điều hướng dành cho Android. Các hướng dẫn này giả định rằng bạn đã cài đặt IDE Android và quen với việc phát triển trên Android.

Yêu cầu tối thiểu để sử dụng SDK điều hướng

  • Một dự án Google Cloud Console có bật SDK Navigation. Để cấp phép, hãy hỏi người đại diện của Nền tảng Google Maps.

  • Ứng dụng của bạn phải nhắm đến SDK Điều hướng (Phiên bản 16) trở lên.

  • Để chạy một ứng dụng được tạo bằng SDK Điều hướng, thiết bị Android phải cài đặt và bật Dịch vụ Google Play.

  • Ghi nhận tác giả và văn bản cấp phép phải được thêm vào ứng dụng.

Thiết lập các dự án: dự án trên Google Cloud Console và dự án Android

Để có thể tạo hoặc kiểm thử một ứng dụng, bạn cần tạo một dự án Cloud Console và thêm thông tin xác thực khoá API. Dự án phải được cấp phép để truy cập vào SDK điều hướng. Tất cả các khoá trong dự án Cloud Console đều được cấp cùng quyền truy cập vào SDK Điều hướng. Một khoá có thể liên kết với nhiều dự án phát triển. Nếu đã có dự án trên Play Console, bạn có thể thêm khoá vào dự án hiện tại.

Cách thiết lập

  1. Trong trình duyệt web bạn yêu thích (chẳng hạn như Chrome), hãy đăng nhập vào Google Cloud Console rồi tạo dự án Google Cloud Console.
  2. Trong IDE, chẳng hạn như Android Studio, hãy tạo một dự án phát triển ứng dụng Android và ghi lại tên gói.
  3. Hãy liên hệ với người đại diện Nền tảng Google Maps để yêu cầu cấp quyền truy cập vào SDK Điều hướng cho dự án trên Bảng điều khiển Google Cloud của bạn.
  4. Trên trang tổng quan Google Cloud Console trong trình duyệt web, hãy tạo thông tin xác thực để tạo một khoá API có các hạn chế.
  5. Trên trang Khoá API, hãy nhấp vào phần Ứng dụng Android trong phần *Application Restricted (Hạn chế ứng dụng).
  6. Nhấp vào Thêm tên gói và vân tay số, sau đó nhập tên gói của dự án phát triển và vân tay số SHA-1 cho khoá đó.
  7. Nhấp vào Lưu.

Thêm SDK Điều hướng vào ứng dụng

SDK Điều hướng được cung cấp dưới dạng một gói aar. Sau khi tạo dự án phát triển, bạn có thể tích hợp SDK. Những hướng dẫn này sẽ đảm bảo việc sử dụng Android Studio cho IDE của bạn.

  1. Tải xuống và giải nén tệp zip SDK Điều hướng.

  2. Trong Android Studio, hãy mở một dự án rồi thêm gói Dịch vụ Google Play bằng trình quản lý SDK.

  3. Từ thư mục tệp zip, hãy sao chép libs/google_navigation.aar vào thư mục app/libs của dự án.

Định cấu hình bản dựng

Sau khi đã tạo dự án, bạn có thể định cấu hình các chế độ cài đặt để tạo và sử dụng thành công SDK Navigation.

Cập nhật cơ sở lưu trú tại địa phương

  • Trong thư mục Tập lệnh Gradle, hãy mở tệp local.properties rồi thêm android.useDeprecatedNdk=true.

Cập nhật tập lệnh bản dựng Gradle

  • Mở tệp build.gradle (Module:app) và sử dụng các nguyên tắc sau để cập nhật chế độ cài đặt nhằm đáp ứng các yêu cầu đối với SDK điều hướng, đồng thời cân nhắc việc đặt các tuỳ chọn tối ưu hoá.

    Chế độ cài đặt bắt buộc cho SDK Điều hướng

    1. Đặt minSdkVersion thành 16 trở lên.
    2. Hãy đặt "targetSDKversion" cho API 21 để chuyển hoạt động xử lý quyền sang API. Đối với các phiên bản trước, bạn cần đưa rõ ràng các luồng quyền vào ứng dụng của mình.
    3. Thêm chế độ cài đặt dexOptions để tăng javaMaxHeapSize.
    4. Đặt vị trí cho các thư viện khác.
    5. Thêm repositoriesdependencies cho SDK điều hướng.
    6. Thay thế số phiên bản trong phần phụ thuộc bằng các phiên bản mới nhất hiện có.

    Các chế độ cài đặt không bắt buộc để giảm thời gian xây dựng

    • Cải thiện thời gian xây dựng ứng dụng
    • Để tối ưu hoá việc sử dụng các phần phụ thuộc, hãy bật ProGuard và tính năng rút gọn tài nguyên. Proguard sẽ xoá mã và tài nguyên không dùng đến khỏi các phần phụ thuộc. Nếu bước Proguard chạy quá lâu, hãy cân nhắc việc bật tính năng multidex cho công việc phát triển.
    • Giảm số lượng bản dịch ngôn ngữ có trong bản dựng. Đặt resConfigs cho một ngôn ngữ trong quá trình phát triển. Đối với bản dựng cuối cùng, hãy đặt "resConfigs" cho các ngôn ngữ mà bạn thực sự sử dụng. Theo mặc định, Gradle sẽ bao gồm các chuỗi tài nguyên cho tất cả ngôn ngữ mà SDK điều hướng hỗ trợ.

Dưới đây là ví dụ về tập lệnh bản dựng Gradle cho ứng dụng.

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

Cập nhật tệp kê khai của ứng dụng

  1. Trong thư mục Tệp kê khai, hãy mở tệp AndroidManifest.xml.

  2. Thêm khoá API trong phần tử <application>. Bạn phải sử dụng khoá API được xác định trong dự án Google Cloud Console được mô tả ở bước ở trên.

    Trong một tệp kê khai một phần minh hoạ ở ví dụ này, bạn sẽ thay thế YOUR_API_KEY bằng khoá API của riêng mình:

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

    Tệp kê khai hoàn chỉnh dưới đây cho thấy chế độ cài đặt của khoá API và intent trống cho MainActivity chạy khi khởi động.

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

Bao gồm các thuộc tính bắt buộc trong ứng dụng của bạn

Nếu sử dụng SDK Điều hướng cho Android trong ứng dụng, bạn phải đưa văn bản phân bổ và giấy phép nguồn mở vào mục thông báo pháp lý của ứng dụng.

Bạn có thể tìm thấy văn bản ghi công cần thiết và giấy phép nguồn mở trong SDK Điều hướng cho Android:

  • NOTICE.txt
  • LICENSES.txt

Bước tiếp theo

Tìm hiểu cách vẽ một tuyến đường.