Page Summary
-
Securely manage your Google Maps API key using the Secrets Gradle Plugin for Android, avoiding storage in version control.
-
The plugin reads your API key from a local
secrets.propertiesfile and makes it accessible in yourBuildConfigand manifest. -
Install the plugin by adding it as a dependency and applying it in your Gradle files, then configure it to locate your API key.
-
Utilize the
local.defaults.propertiesfile to provide a fallback API key for builds and prevent failures when thesecrets.propertiesfile is missing. -
Refer to the plugin's GitHub page and the setup guide for detailed information and a comprehensive example.
Google strongly recommends that you not check an API key into your
version control system. Instead, you should store it in a local secrets.properties file,
which is located in the root directory of your project but excluded from version control, and then
use the Secrets Gradle Plugin for Android
to read the API key.
The Secrets Gradle Plugin for Android reads secrets, including the API key, from
a properties file not checked into a version control system. The plugin then exposes those properties
as variables in the Gradle-generated BuildConfig class and in the Android manifest file.
For a complete example of using the Secrets Gradle Plugin for Android to access an API key, see Set up an Android Studio project.
Installation and usage
To install the Secrets Gradle Plugin for Android and store your API key:
-
In Android Studio, open your root-level
build.gradlefile and add the following code to thedependencieselement underbuildscript.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") } }
-
Open your app-level
build.gradlefile and add the following code to thepluginselement.Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- If you use Android Studio, sync your project with Gradle.
-
Open the
local.propertiesin your project level directory, and then add the following code. ReplaceYOUR_API_KEYwith your API key.MAPS_API_KEY=YOUR_API_KEY
-
In your
AndroidManifest.xmlfile, go tocom.google.android.geo.API_KEYand update theandroid:valueattribute as follows:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />Note:
com.google.android.geo.API_KEYis 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 namecom.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.
What's next
- View the Secrets Gradle Plugin for Android GitHub project page.
- View Set up an Android Studio project for a complete example of using the plugin.