Google rät dringend davon ab, einen API-Schlüssel in Ihr Versionsverwaltungssystem einzuchecken. Speichern Sie ihn stattdessen in einer lokalen secrets.properties
-Datei im Stammverzeichnis Ihres Projekts, die von der Versionsverwaltung ausgeschlossen ist, und verwenden Sie dann das Secrets Gradle-Plug-in für Android, um ihn auszulesen.
Das Secrets Gradle-Plug-in für Android liest Secrets wie API-Schlüssels aus Attributdateien aus, die nicht in ein Versionsverwaltungssystem eingecheckt sind. Das Plug-in stellt die entsprechenden Attribute dann als Variablen in der von Gradle generierten BuildConfig
-Klasse und in der Android-Manifestdatei zur Verfügung.
Unter Android Studio-Projekt einrichten wird anhand eines Beispiels genau erklärt, wie das Secrets Gradle-Plug-in für Android verwendet wird, um auf API-Schlüssel zuzugreifen.
Installation und Nutzung
So installieren Sie das Secrets Gradle-Plug-in für Android in Ihrem Google Maps-Projekt:
-
Öffnen Sie in Android Studio die Datei
build.gradle
oderbuild.gradle.kts
auf oberster Ebene und fügen Sie den folgenden Code in dasdependencies
-Element unterbuildscript
ein.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")
}
} -
Öffnen Sie die Datei
build.gradle
auf Modulebene und fügen Sie den folgenden Code in dasplugins
-Element ein.plugins {
// ...
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
} - In der Datei
build.gradle
auf Modulebene müssentargetSdk
undcompileSdk
auf 34 gesetzt sein. - Speichern Sie die Datei und synchronisieren Sie Ihr Projekt mit Gradle.
-
Öffnen Sie die Datei
secrets.properties
im Verzeichnis der obersten Ebene und fügen Sie den folgenden Code ein. Ersetzen Sie dabeiYOUR_API_KEY
durch Ihren eigenen API-Schlüssel.MAPS_API_KEY=
YOUR_API_KEY - Speichern Sie die Datei.
-
Gehen Sie in der Datei
AndroidManifest.xml
zucom.google.android.geo.API_KEY
und aktualisieren Sie dasandroid:value attribute
. Falls das<meta-data>
-Tag nicht vorhanden ist, erstellen Sie es als untergeordnetes Element des<application>
-Tags.<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.*"
}
Weiteres Vorgehen
- Sehen Sie sich die GitHub-Projektseite zum Secrets Gradle-Plug-in für Android an.
- Unter Android Studio-Projekt einrichten finden Sie ein vollständiges Beispiel für die Verwendung des Plug-ins.