Konfiguracja projektu

Ten przewodnik zawiera wymagania dotyczące konfiguracji kompilacji, które należy spełnić, aby korzystać z pakietu SDK nawigacji na Androida. W instrukcjach przyjęto, że masz zainstalowane środowisko IDE Androida i umiesz tworzyć aplikacje na Androida.

Minimalne wymagania dotyczące korzystania z pakietu SDK nawigacji

  • Projekt w Google Cloud Console z włączonym pakietem Navigation SDK. Aby uzyskać pomoc, skontaktuj się z przedstawicielem Google Maps Platform.

  • Aplikacja musi być kierowana na pakiet Navigation SDK (w wersji 16) lub nowszej.

  • Aby uruchomić aplikację utworzoną za pomocą pakietu Navigation SDK, na urządzeniu z Androidem muszą być zainstalowane i włączone Usługi Google Play.

  • Informacje o źródłach i tekstach licencji muszą być dodane do aplikacji.

Konfigurowanie projektów: projekt w konsoli Google Cloud i projekt Androida

Zanim skompilujesz lub przetestujesz aplikację, musisz utworzyć projekt w Cloud Console i dodać dane logowania do klucza interfejsu API. Aby uzyskać dostęp do pakietu SDK nawigacji, projekt musi mieć obsługę administracyjną. Wszystkie klucze w projekcie Cloud Console otrzymują takie same uprawnienia dostępu do pakietu Navigation SDK. Z kluczem może być powiązany więcej niż 1 projekt deweloperski. Jeśli masz już projekt w konsoli, możesz dodać do niego klucz.

Aby skonfigurować

  1. W swojej ulubionej przeglądarce, np. Chrome, zaloguj się w Google Cloud Console i utwórz projekt Google Cloud Console.
  2. W swoim IDE, na przykład Android Studio, utwórz projekt tworzenia aplikacji na Androida i zapisz nazwę pakietu.
  3. Aby przyznać Ci dostęp do pakietu SDK nawigacji na potrzeby projektu Google Cloud Console, skontaktuj się z przedstawicielem Google Maps Platform.
  4. W panelu konsoli Google Cloud w przeglądarce utwórz dane logowania, aby wygenerować klucz interfejsu API z ograniczeniami.
  5. Na stronie klucza interfejsu API kliknij Aplikacje na Androida w obszarze *Ograniczenia aplikacji.
  6. Kliknij Dodaj nazwę pakietu i odcisk cyfrowy, a następnie wpisz nazwę pakietu swojego projektu programistycznego oraz odcisk cyfrowy SHA-1 tego klucza.
  7. Kliknij Zapisz.

Dodaj pakiet SDK nawigacji do aplikacji

Pakiet SDK nawigacji jest dostępny w postaci pakietu Aar. Po utworzeniu projektu możesz zintegrować pakiet SDK. W tych instrukcjach przyjęto założenie, że w Twoim IDE należy korzystać z Android Studio.

  1. Pobierz i rozpakuj plik ZIP pakietu Navigation SDK.

  2. W Android Studio otwórz projekt i dodaj pakiet Usług Google Play za pomocą Menedżera pakietów SDK.

  3. Z katalogu pliku ZIP skopiuj libs/google_navigation.aar do katalogu app/libs swojego projektu.

Konfigurowanie kompilacji

Po utworzeniu projektu możesz skonfigurować ustawienia udanej kompilacji i korzystania z pakietu Navigation SDK.

Aktualizowanie usług lokalnych

  • W folderze Skrypty Gradle otwórz plik local.properties i dodaj android.useDeprecatedNdk=true.

Aktualizowanie skryptu kompilacji Gradle

  • Otwórz plik build.gradle (Module:app) i skorzystaj z podanych niżej wskazówek, aby zaktualizować ustawienia tak, aby spełniały wymagania pakietu Navigation SDK. Zastanów się też nad ustawieniem opcji optymalizacji.

    Wymagane ustawienia pakietu Navigation SDK

    1. Ustaw minSdkVersion na wartość 16 lub więcej.
    2. Ustaw wartość „targetSDKversion” dla interfejsu API 21, aby przesunąć obsługę uprawnień do tego interfejsu. W przypadku poprzednich wersji musisz wyraźnie uwzględnić w aplikacji procesy uprawnień.
    3. Dodaj ustawienie dexOptions, które zwiększa javaMaxHeapSize.
    4. Ustaw lokalizację bibliotek dodatkowych.
    5. Dodaj repositories i dependencies do pakietu SDK nawigacji.
    6. Zastąp numery wersji w zależności najnowszymi dostępnymi wersjami.

    Opcjonalne ustawienia skracające czas kompilacji

    • Aby skrócić czas kompilacji aplikacji
    • Aby zoptymalizować wykorzystanie zależności, włącz ProGuard i zmniejszanie zasobów. ProGuard usuwa z zależności nieużywany kod i zasoby. Jeśli krok Prokopard działa zbyt długo, rozważ włączenie multidex do prac programistycznych.
    • Zmniejsz liczbę tłumaczeń na inne języki w kompilacji. Ustaw resConfigs dla jednego języka podczas programowania. W ostatniej kompilacji ustaw parametr „resConfigs” dla języków, których faktycznie używasz. Domyślnie Gradle uwzględnia ciągi zasobów dla wszystkich języków obsługiwanych przez pakiet SDK nawigacji.

Poniżej znajdziesz przykład skryptu kompilacji aplikacji Gradle.

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

Zaktualizuj plik manifestu aplikacji

  1. W folderze manifestu otwórz plik AndroidManifest.xml.

  2. Dodaj klucz interfejsu API w elemencie <application>. Musisz użyć klucza interfejsu API zdefiniowanego w projekcie w Google Cloud Console opisanym w kroku powyżej.

    W częściowym pliku manifestu pokazanym w tym przykładzie musisz zastąpić YOUR_API_KEY własnym kluczem interfejsu API:

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

    Pełny plik manifestu poniżej zawiera ustawienie klucza interfejsu API i pustą wartość intent dla elementu MainActivity, który uruchamia się podczas uruchamiania.

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

Uwzględnij w aplikacji wymagane informacje o źródłach

Jeśli w swojej aplikacji używasz pakietu Navigation SDK na Androida, w sekcji informacji prawnych umieść tekst atrybucji i licencje open source.

Wymagany tekst źródła i licencje open source znajdziesz w pliku ZIP SDK nawigacji:

  • NOTICE.txt
  • LICENSES.txt

Następny krok

Dowiedz się, jak wyznaczyć trasę.