Google sangat menyarankan Anda agar tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Sebagai gantinya, sebaiknya simpan kunci API dalam file secrets.properties
, yang terletak di direktori utama project, tetapi dikecualikan dari kontrol versi, lalu gunakan Plugin Secrets Gradle untuk Android untuk membaca kunci API tersebut.
Plugin Secrets Gradle untuk Android membaca secret, termasuk kunci API, dari file properti yang tidak di-check in ke dalam sistem kontrol versi. Kemudian, plugin ini akan mengekspos properti tersebut
sebagai variabel dalam class BuildConfig
yang dihasilkan Gradle dan dalam file manifes Android.
Untuk contoh lengkap penggunaan Plugin Secrets Gradle untuk Android dalam mengakses kunci API, lihat Menyiapkan project Android Studio.
Penginstalan dan penggunaan
Untuk menginstal Plugin Secrets Gradle untuk Android di project Google Maps:
-
Di Android Studio, buka file
build.gradle
ataubuild.gradle.kts
tingkat teratas dan tambahkan kode berikut ke elemendependencies
di bagianbuildscript
.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") } }
- Buka file
build.gradle
tingkat modul dan tambahkan kode berikut ke elemenplugins
.Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- Di file
build.gradle
tingkat modul, pastikantargetSdk
dancompileSdk
ditetapkan ke 34. - Simpan file dan sinkronkan project Anda dengan Gradle.
-
Buka file
secrets.properties
di direktori tingkat teratas, lalu tambahkan kode berikut. GantiYOUR_API_KEY
dengan kunci API Anda. Simpan kunci Anda dalam file ini karenasecrets.properties
tidak di-check in ke dalam sistem kontrol versi.MAPS_API_KEY=YOUR_API_KEY
- Simpan file.
-
Buat file
local.defaults.properties
di direktori tingkat teratas, folder yang sama dengan filesecrets.properties
, lalu tambahkan kode berikut.MAPS_API_KEY=DEFAULT_API_KEY
File ini ditujukan untuk menyediakan lokasi cadangan Kunci API jika file
secrets.properties
tidak dapat ditemukan agar build tidak gagal. Build dapat gagal jika Anda meng-clone aplikasi dari sistem kontrol versi yang menghapussecrets.properties
dan Anda belum membuat filesecrets.properties
secara lokal untuk memberi Anda Kunci API. - Simpan file.
-
Di file
AndroidManifest.xml
, bukacom.google.android.geo.API_KEY
, lalu perbaruiandroid:value attribute
. Jika tag<meta-data>
tidak ada, buat tag tersebut sebagai turunan dari tag<application>
.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
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 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. -
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
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.*" }
Langkah berikutnya
- Lihat halaman project GitHub Plugin Secrets Gradle untuk Android.
- Lihat Menyiapkan project Android Studio untuk contoh lengkap penggunaan plugin.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-08-13 UTC.