Este guia lista os requisitos de configuração do build para usar o SDK do Navigation para Android. As instruções presumem que você tenha um ambiente de desenvolvimento integrado do Android instalado e esteja familiarizado com o desenvolvimento em Android.
Requisitos mínimos para usar o SDK do Navigation
Um projeto do Console do Google Cloud com o SDK de navegação ativado. Para provisionar, fale com seu representante da Plataforma Google Maps.
O app precisa ser direcionado ao SDK do Navigation (versão 16) ou mais recente.
Para executar um app criado com o SDK do Navigation, o dispositivo Android precisa ter o Google Play Services instalado e ativado.
É necessário adicionar atribuições e textos de licenciamento ao app.
Configurar seus projetos: projeto do Console do Google Cloud e projeto Android
Antes de criar ou testar um app, é preciso criar um projeto do Console do Cloud e adicionar credenciais de chave de API. O projeto precisa ter provisionamento para acessar o SDK do Navigation. Todas as chaves no projeto do Console do Cloud recebem o mesmo acesso ao SDK do Navigation. Uma chave pode ter mais de um projeto de desenvolvimento associado a ela. Se você já tiver um projeto no console, poderá adicionar uma chave ao seu projeto atual.
Para configurar
- Em um navegador da Web favorito, como o Chrome, faça login no Console do Google Cloud e crie seu projeto do Console do Google Cloud.
- No seu IDE, como o Android Studio, crie um projeto de desenvolvimento de apps Android e anote o nome do pacote.
- Entre em contato com seu representante da Plataforma Google Maps para conceder acesso ao SDK de navegação do seu projeto do Console do Google Cloud.
- No painel do console do Google Cloud no navegador da Web, crie credenciais para gerar uma chave de API com restrições.
- Na página da chave de API, clique em Apps Android na área *Restrições do aplicativo.
- Clique em Adicionar o nome do pacote e a impressão digital e insira o nome do pacote do projeto de desenvolvimento e a impressão digital SHA-1 para essa chave.
- Clique em Salvar.
Adicionar o SDK do Navigation ao seu app
O SDK do Navigation está disponível como um pacote aar. Depois de criar o projeto de desenvolvimento, é possível integrar o SDK. Essas instruções consideram o uso do Android Studio para seu ambiente de desenvolvimento integrado.
Faça o download e descompacte o arquivo ZIP do SDK do Navigation.
No Android Studio, abra um projeto e adicione o pacote do Google Play Services usando o SDK Manager.
No diretório do arquivo ZIP, copie
libs/google_navigation.aar
para o diretórioapp/libs
do projeto.
Configure o build
Depois de criar o projeto, você pode definir as configurações para um build e uso bem-sucedidos do SDK do Navigation.
Atualizar propriedades locais
- Na pasta "Gradle Scripts", abra o arquivo
local.properties
e adicioneandroid.useDeprecatedNdk=true
.
Atualizar o script de build do Gradle
Abra o arquivo
build.gradle (Module:app)
e use as diretrizes abaixo para atualizar as configurações e atender aos requisitos do SDK do Navigation. Também é recomendável definir as opções de otimização.Configurações necessárias para o SDK do Navigation
- Defina
minSdkVersion
como 16 ou mais. - Defina "targetSDKversion" da API 21 para mudar o processamento de permissões para a API. Para versões anteriores, é necessário incluir explicitamente os fluxos de permissões no app.
- Adicione uma configuração
dexOptions
que aumente ajavaMaxHeapSize
. - Defina o local das bibliotecas adicionais.
- Adicione
repositories
edependencies
ao SDK do Navigation. - Substitua os números de versão nas dependências pelas versões mais recentes disponíveis.
Configurações opcionais para diminuir o tempo de build
- Para melhorar o tempo de build do app
- Para otimizar o uso das dependências, ative o ProGuard e a redução de recursos. O ProGuard remove código e recursos não utilizados das dependências. Se a etapa do ProGuard for executada muito longa, ative o multidex para o trabalho de desenvolvimento.
- Reduza o número de traduções de idiomas incluídas no build. Defina
resConfigs
para um idioma durante o desenvolvimento. Para o build final, defina "resConfigs" para as linguagens que você realmente usa. Por padrão, o Gradle inclui strings de recursos para todos os idiomas com suporte no SDK do Navigation.
- Defina
Confira abaixo um exemplo do script de build do Gradle para o app.
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'
}
Atualizar o manifesto do app
Na pasta do manifesto, abra o arquivo
AndroidManifest.xml
.Adicione a chave de API ao elemento
<application>
. É necessário usar a chave de API definida no projeto do console do Google Cloud descrito na etapa acima.Em um manifesto parcial mostrado neste exemplo, substitua
YOUR_API_KEY
pela sua própria chave de API:<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>
Um manifesto completo abaixo mostra a configuração da chave de API e a
intent
vazia para aMainActivity
executada na inicialização.<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> ```
Incluir as atribuições necessárias no seu app
Se você usa o SDK do Navigation para Android no seu app, é necessário incluir texto de atribuição e licenças de código aberto como parte da seção de avisos legais do app.
O texto de atribuição e as licenças de código aberto necessários estão disponíveis no arquivo ZIP do SDK do Navigation para Android:
NOTICE.txt
LICENSES.txt
Próxima etapa
Saiba como traçar um trajeto.