Questa guida elenca i requisiti di configurazione della build per l'utilizzo dell'SDK di navigazione per Android. Le istruzioni presuppongono che tu abbia installato un IDE Android e dimestichezza con lo sviluppo Android.
Requisiti minimi per l'utilizzo dell'SDK di navigazione
Un progetto della console Google Cloud con l'SDK di navigazione abilitato. Per il provisioning, rivolgiti al tuo rappresentante di Google Maps Platform.
La tua app deve avere come target l'SDK di navigazione (versione 16) o successive.
Per eseguire un'app creata con l'SDK di navigazione, sul dispositivo Android deve essere installato e attivato Google Play Services.
Il testo delle attribuzioni e della licenza deve essere aggiunto all'app.
Configurare i progetti: progetto Google Cloud Console e progetto Android
Prima di poter creare o testare un'app, devi creare un progetto della console Cloud e aggiungere le credenziali della chiave API. Il progetto deve disporre del provisioning per accedere a Navigatore SDK. A tutte le chiavi all'interno del progetto della console Cloud viene concesso lo stesso accesso a Navigation SDK. A una chiave può essere associato più di un progetto di sviluppo. Se hai già un progetto della console, puoi aggiungere una chiave al progetto attuale.
Per configurare
- Nel tuo browser web preferito, ad esempio Chrome, accedi alla console Google Cloud e crea il tuo progetto Google Cloud Console.
- Nel tuo IDE, ad esempio Android Studio, crea un progetto di sviluppo di app Android e prendi nota del nome del pacchetto.
- Contatta il rappresentante di Google Maps Platform per fornire l'accesso all'SDK di navigazione per il tuo progetto nella console Google Cloud.
- Nella dashboard di Google Cloud Console nel browser web, crea le credenziali per generare una chiave API con restrizioni.
- Nella pagina Chiave API, fai clic su App Android nell'area *Limitazioni delle applicazioni.
- Fai clic su Aggiungi il nome del pacchetto e la fingerprint, quindi inserisci il nome del pacchetto del progetto di sviluppo e l'impronta SHA-1 per la chiave.
- Fai clic su Salva.
Aggiungi l'SDK di navigazione alla tua app
L'SDK di navigazione è disponibile come pacchetto aar. Dopo aver creato il progetto di sviluppo, puoi integrare l'SDK. In queste istruzioni si presume l'utilizzo di Android Studio per il tuo IDE.
Scarica e decomprimi il file ZIP dell'SDK di navigazione.
In Android Studio, apri un progetto e aggiungi il pacchetto Google Play Services utilizzando il gestore SDK.
Dalla directory del file ZIP, copia
libs/google_navigation.aar
nella directoryapp/libs
del tuo progetto.
Configura la build
Dopo aver creato il progetto, puoi configurare le impostazioni per una build e l'utilizzo corretti dell'SDK di navigazione.
Aggiorna proprietà locali
- Nella cartella Gradle Scripts, apri il file
local.properties
e aggiungiandroid.useDeprecatedNdk=true
.
Aggiorna lo script di build Gradle
Apri il file
build.gradle (Module:app)
e segui le linee guida che seguono per aggiornare le impostazioni in modo da soddisfare i requisiti dell'SDK di navigazione e valutare anche la possibilità di impostare le opzioni di ottimizzazione.Impostazioni obbligatorie per l'SDK Navigazione
- Imposta
minSdkVersion
su 16 o un valore superiore. - Imposta "targetSDKversion" per l'API 21 per spostare la gestione delle autorizzazioni all'API. Per le versioni precedenti, devi includere esplicitamente i flussi di autorizzazioni nella tua app.
- Aggiungi un'impostazione
dexOptions
che aumenta il valore dijavaMaxHeapSize
. - Imposta la località per le librerie aggiuntive.
- Aggiungi
repositories
edependencies
per l'SDK di navigazione. - Sostituisci i numeri di versione nelle dipendenze con le versioni più recenti disponibili.
Impostazioni facoltative per ridurre i tempi di compilazione
- Per migliorare il tempo di creazione della tua app
- Per ottimizzare l'utilizzo delle dipendenze, abilita ProGuard e la riduzione delle risorse. ProGuard rimuove le risorse e il codice inutilizzati dalle dipendenze. Se il passaggio ProGuard è troppo lungo, valuta la possibilità di attivare multidex per le attività di sviluppo.
- Riduci il numero di traduzioni in diverse lingue incluse nella build. Imposta
resConfigs
per un linguaggio durante lo sviluppo. Per la build finale, imposta "resConfigs" per le lingue che usi effettivamente. Per impostazione predefinita, Gradle include stringhe di risorse per tutte le lingue supportate dall'SDK di navigazione.
- Imposta
Di seguito è riportato un esempio dello script di build Gradle per l'applicazione.
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'
}
Aggiorna il file manifest dell'app
Nella cartella Manifest, apri il file
AndroidManifest.xml
.Aggiungi la chiave API all'interno dell'elemento
<application>
. Devi utilizzare la chiave API definita nel progetto della console Google Cloud descritto nel passaggio sopra.In un manifest parziale mostrato in questo esempio, dovresti sostituire
YOUR_API_KEY
con la tua chiave API:<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>
Il file manifest completo di seguito mostra l'impostazione per la chiave API e il valore
intent
vuoto perMainActivity
in esecuzione all'avvio.<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> ```
Includi le attribuzioni richieste nella tua app
Se utilizzi l'SDK Navigation per Android nella tua app, devi includere il testo dell'attribuzione e le licenze open source nella sezione delle note legali dell'app.
Puoi trovare il testo di attribuzione e le licenze open source richiesti nel file ZIP dell'SDK di navigazione per Android:
NOTICE.txt
LICENSES.txt
Passaggio successivo
Scopri come tracciare un percorso.