android-gradle
Настройка параметров подписки
Поиск…
Настроить build.gradle с настройкой подписи
Вы можете определить конфигурацию подписи, чтобы подписать apk в файле build.gradle
.
Вы можете определить:
-
storeFile
: файл хранилища ключей -
storePassword
: пароль хранилища ключей -
keyAlias
: ключевое имя псевдонима -
keyPassword
: пароль псевдонима ключа
Вы должны определить блок signingConfigs
для создания конфигурации подписи:
android {
signingConfigs {
myConfig {
storeFile file("myFile.keystore")
storePassword "myPasswork"
keyAlias "aKeyAlias"
keyPassword "myAliasPassword"
}
}
//....
}
Затем вы можете назначить его одному или нескольким типам сборки.
android {
buildTypes {
release {
signingConfig signingConfigs.myConfig
}
}
}
Определить конфигурацию подписи во внешнем файле
Вы можете определить конфигурацию подписи во внешнем файле как signing.properties
в корневом каталоге вашего проекта.
Например, вы можете определить эти ключи (вы можете использовать свои любимые имена):
STORE_FILE=myStoreFileLocation
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword
Затем в файле build.gradle:
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Затем вы можете ввести некоторые проверки, чтобы избежать проблем с градиентом в процессе сборки.
//------------------------------------------------------------------------------
// Signing
//------------------------------------------------------------------------------
def Properties props = new Properties()
def propFile = file('../signing.properties')
if (propFile.canRead()) {
if (props != null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
android.buildTypes.release.signingConfig = null
}
} else {
android.buildTypes.release.signingConfig = null
}
Определить переменные среды настройки настройки подписи
Вы можете сохранить переменные среды настройки подписи.
Доступ к этим значениям можно получить с помощью System.getenv("<VAR-NAME>")
В вашем build.gradle
вы можете определить:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
Определить конфигурацию подписи в отдельном файле градации
Самый простой и чистый способ добавить внешнюю конфигурацию - через отдельный файл Gradle
build.gradle
apply from: './keystore.gradle'
android{
signingConfigs {
release {
storeFile file(keystore.storeFile)
storePassword keystore.storePassword
keyAlias keystore.keyAlias
keyPassword keystore.keyPassword
}
}
}
keystore.gradle
ext.keystore = [
storeFile : "/path/to/your/file",
storePassword: 'password of the store',
keyAlias : 'alias_of_the_key',
keyPassword : 'password_of_the_key'
]
Файл keystore.gradle может существовать в любой точке вашей файловой системы, вы можете указать его местоположение внутри apply from: ''
в верхней части вашего файла gradle или в конце основного файла build.gradle проекта.
Как правило, это хорошая идея игнорировать этот файл из системы контроля версий, такой как git, если она находится внутри вашего репо.
Также неплохо предоставить образец keystore.gradle.sample
который разработчики, входящие в проект, будут переименовывать и заполнять на своей машине разработки. Этот файл всегда содержался внутри репо в правильном месте.