O Google recomenda que você não verifique chaves de API no seu sistema de controle de versões. Em vez disso, faça o armazenamento no arquivo secrets.properties
local, que fica no diretório raiz do projeto, mas excluindo o controle de versões, e use o plug-in Secrets Gradle para Android (link em inglês) se quiser ler a chave de API.
O plug-in Secrets Gradle para Android lê chaves secretas, incluindo a chave de API de um arquivo de propriedades não verificado em um sistema de controle de versões. Em seguida, o plug-in expõe essas propriedades como variáveis na classe BuildConfig
gerada pelo Gradle e no arquivo de manifesto do Android.
Para ver um exemplo completo do uso do plug-in Secrets Gradle para Android ao acessar uma chave de API, consulte o artigo Configurar um projeto do Android Studio.
Instalação e uso
Para instalar esse plug-in no seu projeto do Google Maps:
-
No Android Studio, abra o arquivo de nível superior
build.gradle
oubuild.gradle.kts
e adicione o seguinte código ao elementodependencies
embuildscript
.buildscript {
dependencies {
classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
}
}buildscript {
dependencies {
classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
}
} -
Depois, abra o arquivo
build.gradle
no nível do módulo e adicione o seguinte código ao elementoplugins
.plugins {
// ...
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
} - No arquivo
build.gradle
no nível do módulo, definatargetSdk
ecompileSdk
como 34. - Salve o arquivo e sincronize seu projeto com o Gradle.
-
Abra o arquivo
secrets.properties
no seu diretório de nível superior e adicione o código a seguir. SubstituaYOUR_API_KEY
pela chave de API.MAPS_API_KEY=
YOUR_API_KEY - Salve o arquivo.
-
No seu arquivo
AndroidManifest.xml
, vá atécom.google.android.geo.API_KEY
e atualizeandroid:value attribute
. Se a tag<meta-data>
não existe, crie-a como um elemento filho da tag<application>
.<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${MAPS_API_KEY}" /> -
In Android Studio, open your module-level
build.gradle
orbuild.gradle.kts
file and edit thesecrets
property. If thesecrets
property does not exist, add it.Edit the properties of the plugin to set
propertiesFileName
tosecrets.properties
, setdefaultPropertiesFileName
to the name of your local properties file (eitherlocal.properties
orlocal.defaults.properties
depending on how you created the project), and set any other properties.secrets {
// Optionally specify a different file name containing your secrets.
// The plugin defaults to "local.properties"
propertiesFileName = "secrets.properties"
// A properties file containing default secret values. This file can be
// checked in version control.
defaultPropertiesFileName = "local.defaults.properties"
// Configure which keys should be ignored by the plugin by providing regular expressions.
// "sdk.dir" is ignored by default.
ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*"
}
Kotlin
secrets {
// Optionally specify a different file name containing your secrets.
// The plugin defaults to "local.properties"
propertiesFileName = "secrets.properties"
// A properties file containing default secret values. This file can be
// checked in version control.
defaultPropertiesFileName = "local.defaults.properties"
// Configure which keys should be ignored by the plugin by providing regular expressions.
// "sdk.dir" is ignored by default.
ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore"
ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*"
}
A seguir
- Veja a página do plug-in Secrets Gradle para Android do projeto no GitHub (link em inglês).
- Consulte o artigo Configurar um projeto do Android Studio para ver um exemplo completo de como usar o plug-in.