android-gradle
Configurar ajustes de firma
Buscar..
Configurar el build.gradle con la configuración de firma
Puede definir la configuración de firma para firmar el apk en el archivo build.gradle
.
Puedes definir:
-
storeFile
: el archivo de almacén de claves -
storePassword
: la contraseña del almacén de claves -
keyAlias
: un nombre de alias de clave -
keyPassword
: una contraseña de alias de clave
Usted tiene que definir las signingConfigs
bloquean para crear una configuración de firma:
android {
signingConfigs {
myConfig {
storeFile file("myFile.keystore")
storePassword "myPasswork"
keyAlias "aKeyAlias"
keyPassword "myAliasPassword"
}
}
//....
}
Luego puedes asignarlo a uno o más tipos de compilación.
android {
buildTypes {
release {
signingConfig signingConfigs.myConfig
}
}
}
Definir la configuración de firma en un archivo externo.
Puede definir la configuración de firma en un archivo externo como una signing.properties
en el directorio raíz de su proyecto.
Por ejemplo, puede definir estas teclas (puede usar sus nombres favoritos):
STORE_FILE=myStoreFileLocation
STORE_PASSWORD=myStorePassword
KEY_ALIAS=myKeyAlias
KEY_PASSWORD=mykeyPassword
Luego en tu archivo build.gradle:
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Luego puede introducir algunos controles para evitar problemas de gradle en el proceso de construcción.
//------------------------------------------------------------------------------
// 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
}
Definir las variables de entorno de configuración de firma.
Puede almacenar las variables de entorno de configuración de información de firma.
Se puede acceder a estos valores con System.getenv("<VAR-NAME>")
En tu build.gradle
puedes definir:
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEY_ALIAS")
keyPassword System.getenv("KEY_PASSWORD")
}
}
Defina la configuración de firma en un archivo gradle separado
La forma más sencilla y limpia de agregar una configuración externa es a través de un archivo Gradle separado
construir.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'
]
El archivo keystore.gradle puede existir en cualquier parte de su sistema de archivos, puede especificar su ubicación dentro de la apply from: ''
en la parte superior de su archivo de gradle o al final de su proyecto principal, el archivo build.gradle.
Normalmente, es una buena idea ignorar este archivo del sistema de control de versiones como git si está ubicado dentro de su repositorio.
También es una buena idea proporcionar un ejemplo de keystore.gradle.sample
que los desarrolladores que ingresan al proyecto cambiarían de nombre y rellenarían en su máquina de desarrollo. Este archivo siempre estaría contenido dentro del repositorio en la ubicación correcta.