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верхнего уровня и добавьте в элементdependencies, принадлежащий элементуbuildscript, приведенный ниже код.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") } } -
Откройте файл
build.gradleуровня модуля и добавьте в элементpluginsприведенный ниже код.Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") } - В файле
build.gradleуровня модуля убедитесь, что дляtargetSdkиcompileSdkзадано значение 34. - Сохраните файл и синхронизируйте проект с Gradle.
-
Откройте файл
secrets.propertiesв каталоге верхнего уровня и добавьте приведенный ниже код. Укажите вместоYOUR_API_KEYсвой ключ API. Храните свой ключ в этом файле, посколькуsecrets.propertiesне проверяется системой управления версиями.MAPS_API_KEY=YOUR_API_KEY
- Сохраните файл.
-
Создайте файл
local.defaults.propertiesв директории верхнего уровня (в той же папке, где хранится файлsecrets.properties), а затем добавьте указанный ниже код.MAPS_API_KEY=DEFAULT_API_KEY
Этот файл служит запасным хранилищем ключа API, чтобы обеспечить выполнение сборки, даже если система не обнаружит файл
secrets.properties. Так может произойти, если вы скопируете приложение из системы управления версиями (она проигнорирует файлsecrets.properties) и не создадите файлsecrets.propertiesс ключом API локально. - Сохраните файл.
-
В файле
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}" />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. -
In Android Studio, open your module-level
build.gradleorbuild.gradle.ktsfile and edit thesecretsproperty. If thesecretsproperty does not exist, add it.Edit the properties of the plugin to set
propertiesFileNametosecrets.properties, setdefaultPropertiesFileNametolocal.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.*" }Что дальше
- Посетите страницу проекта Плагин Secrets Gradle для Android на GitHub.
- Ознакомьтесь с полным примером использования плагина в статье Настройка проекта Android Studio.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2024-07-03 UTC.
[null,null,["Последнее обновление: 2024-07-03 UTC."],[],[]]