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") } }
-
Depois, abra o arquivo
build.gradle
no nível do módulo e adicione o seguinte código ao elementoplugins
.Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
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.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.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-01-22 UTC.
[null,null,["Última atualização 2024-01-22 UTC."],[[["Securely store your API keys outside of version control using the Secrets Gradle Plugin for Android."],["The plugin reads API keys from a local `secrets.properties` file and makes them accessible within your Android project."],["You need to install the plugin, configure it in your Gradle files, and create the necessary properties files (`secrets.properties` and `local.defaults.properties`)."],["This approach ensures your sensitive API keys are not exposed in your code repository, enhancing security."]]],[]]