Google настоятельно рекомендует не добавлять ключ API в системы контроля версий. Вместо этого сохраните ключ в локальном файле secrets.properties
, который находится в корневом каталоге проекта (не проверяется системами контроля версий), и используйте для его чтения плагин Secrets Gradle для Android.
Плагин Secrets Gradle для Android считывает ключ API и другие секретные данные из файла свойств, который не хранится в системе контроля версий. Затем плагин указывает эти свойства в качестве переменных в созданном Gradle классе BuildConfig
и файле манифеста для Android.
Полный пример использования плагина Secrets Gradle для доступа к ключу описан в статье Настройка проекта Android Studio.
Установка и использование
Чтобы установить плагин Secrets Gradle для Android в проект Google Карт:
-
В Android Studio откройте файл
build.gradle
илиbuild.gradle.kts
на верхнем уровне и добавьте в разделbuildscript
элементаdependencies
следующий код: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")
}
} -
Откройте файл
build.gradle
уровня модуля и добавьте в элементplugins
следующий код:plugins {
// ...
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
} - Проверьте, чтобы в файле
build.gradle
уровня модуля дляtargetSdk
иcompileSdk
было задано значение 34. - Сохраните файл и синхронизируйте проект с Gradle.
-
Откройте файл
secrets.properties
в директории самого верхнего уровня и добавьте следующий код: Укажите вместоYOUR_API_KEY
свой ключ API.MAPS_API_KEY=
YOUR_API_KEY - Сохраните файл.
-
В файле
AndroidManifest.xml
найдитеcom.google.android.geo.API_KEY
и изменитеandroid:value attribute
следующим образом: Если тег<meta-data>
отсутствует, создайте его как дочерний для тега<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.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.*"
}
Что дальше
- Посетите страницу проекта Плагин Secrets Gradle для Android на GitHub.
- Ознакомьтесь с полным примером использования плагина в статье Настройка проекта Android Studio.