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ć
- W swojej ulubionej przeglądarce, np. Chrome, zaloguj się w Google Cloud Console i utwórz projekt Google Cloud Console.
- W swoim IDE, na przykład Android Studio, utwórz projekt tworzenia aplikacji na Androida i zapisz nazwę pakietu.
- Aby przyznać Ci dostęp do pakietu SDK nawigacji na potrzeby projektu Google Cloud Console, skontaktuj się z przedstawicielem Google Maps Platform.
- W panelu konsoli Google Cloud w przeglądarce utwórz dane logowania, aby wygenerować klucz interfejsu API z ograniczeniami.
- Na stronie klucza interfejsu API kliknij Aplikacje na Androida w obszarze *Ograniczenia aplikacji.
- Kliknij Dodaj nazwę pakietu i odcisk cyfrowy, a następnie wpisz nazwę pakietu swojego projektu programistycznego oraz odcisk cyfrowy SHA-1 tego klucza.
- 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.
Pobierz i rozpakuj plik ZIP pakietu Navigation SDK.
W Android Studio otwórz projekt i dodaj pakiet Usług Google Play za pomocą Menedżera pakietów SDK.
Z katalogu pliku ZIP skopiuj
libs/google_navigation.aar
do kataloguapp/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 dodajandroid.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
- Ustaw
minSdkVersion
na wartość 16 lub więcej. - 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ń.
- Dodaj ustawienie
dexOptions
, które zwiększajavaMaxHeapSize
. - Ustaw lokalizację bibliotek dodatkowych.
- Dodaj
repositories
idependencies
do pakietu SDK nawigacji. - 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.
- Ustaw
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
W folderze manifestu otwórz plik
AndroidManifest.xml
.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 elementuMainActivity
, 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ę.