Plug-in Secrets Gradle (original) (raw)
Plug-in Secrets Gradle
Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
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
.
Groovy
buildscript {
dependencies {
classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
}
}
Kotlin
buildscript {
dependencies {
classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
}
}
2. Depois, abra o arquivo build.gradle
no nível do módulo e adicione o seguinte código ao elemento plugins
.
Groovy
plugins {
// ...
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}
Kotlin
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
3. No arquivo build.gradle
no nível do módulo, defina targetSdk
e compileSdk
como 34.
4. Salve o arquivo e sincronize seu projeto com o Gradle.
5. Abra o arquivo secrets.properties
no seu diretório de nível superior e adicione o código a seguir. Substitua YOUR_API_KEY
pela sua chave de API. Armazene sua chave nesse arquivo porque secrets.properties
não é verificado em um sistema de controle de versão.
MAPS_API_KEY=YOUR_API_KEY
6. Salve o arquivo.
7. Crie o arquivo local.defaults.properties
no seu diretório de nível superior, na mesma pasta que o arquivo secrets.properties
, e depois adicione o seguinte código.
MAPS_API_KEY=DEFAULT_API_KEY
O objetivo desse arquivo é oferecer um local de backup para a chave da API se o arquivo secrets.properties
não for encontrado, para que os builds não apresentem falha. Isso pode acontecer se você clonar o app de um sistema de controle de versão que omite secrets.properties
e ainda não tiver criado um arquivo secrets.properties
localmente para fornecer sua chave de API.
8. Salve o arquivo.
9. No seu arquivo AndroidManifest.xml
, vá até com.google.android.geo.API_KEY
e atualize android:value attribute
. Se a tag <meta-data>
não existe, crie-a como um elemento filho da tag <application>
.
Note: com.google.android.geo.API_KEY
is the recommended metadata name for the API key. A key with this name can be used to authenticate to multiple Google Maps-based APIs on the Android platform, including the Maps SDK for Android. For backwards compatibility, the API also supports the name com.google.android.maps.v2.API_KEY
. This legacy name allows authentication to the Android Maps API v2 only. An application can specify only one of the API key metadata names. If both are specified, the API throws an exception.
10. In Android Studio, open your module-level build.gradle
orbuild.gradle.kts
file and edit the secrets
property. If thesecrets
property does not exist, add it.
Edit the properties of the plugin to set propertiesFileName
tosecrets.properties
, set defaultPropertiesFileName
tolocal.defaults.properties
, and set any other properties.
Groovy
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.