android-gradle
Configurer les paramètres de signature
Recherche…
Configurez le build.gradle avec la configuration de signature
Vous pouvez définir la configuration de signature pour signer le fichier build.gradle
dans le fichier build.gradle
.
Vous pouvez définir:
-
storeFile
: le fichier destoreFile
-
storePassword
: le mot de passe dustorePassword
-
keyAlias
: un nom d'alias de clé -
keyPassword
: un mot de passe alias de clé
Vous devez définir le bloc signingConfigs
pour créer une configuration de signature:
android {
signingConfigs {
myConfig {
storeFile file("myFile.keystore")
storePassword "myPasswork"
keyAlias "aKeyAlias"
keyPassword "myAliasPassword"
}
}
//....
}
Vous pouvez ensuite l' assigner à un ou plusieurs types de construction.
android {
buildTypes {
release {
signingConfig signingConfigs.myConfig
}
}
}
Définir la configuration de signature dans un fichier externe
Vous pouvez définir la configuration de signature dans un fichier externe en tant que signing.properties
dans le répertoire racine de votre projet.
Par exemple, vous pouvez définir ces clés (vous pouvez utiliser vos noms préférés):
STORE_FILE=myStoreFileLocation
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword
Ensuite, dans votre fichier build.gradle:
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Ensuite, vous pouvez introduire des vérifications pour éviter les problèmes de graduation dans le processus de génération.
//------------------------------------------------------------------------------
// 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
}
Définir les variables d'environnement du paramètre de configuration de signature
Vous pouvez stocker les variables d'environnement du paramètre d'informations de signature.
Ces valeurs sont accessibles avec System.getenv("<VAR-NAME>")
Dans votre build.gradle
vous pouvez définir:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
Définir la configuration de signature dans un fichier distinct
La manière la plus simple et la plus propre d’ajouter une configuration externe consiste à utiliser un fichier Gradle distinct.
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'
]
Le fichier keystore.gradle peut exister n'importe où dans votre système de fichiers, vous pouvez spécifier son emplacement dans le champ Apply apply from: ''
en haut de votre fichier de graduation ou à la fin du fichier build.gradle du projet principal.
En règle générale, c'est une bonne idée d'ignorer ce fichier à partir du système de contrôle de version tel que git s'il est situé dans votre dépôt.
Il est également judicieux de fournir un exemple de keystore.gradle.sample
que les développeurs entrant dans le projet renommeraient et rempliraient leur machine de développement. Ce fichier serait toujours contenu dans le référentiel au bon endroit.