válido subiste subir studio regístrate que publicar programa play para hacer google firmado firma convert con como certificado aún archivo apps app aplicaciones android android-studio gradle android-gradle build.gradle

subiste - Android Gradle: carga la configuración de firma desde un archivo externo



programa de firma de apps (2)

Puede mover sus datos confidenciales a un archivo de firma separado y tener gradle cargarlos.

Aquí hay un buen artículo sobre cómo hacerlo

En Gradle para Android, parece ser práctica común definir tu configuración de firma para la versión de lanzamiento de esta manera:

android { signingConfigs { debug { storeFile file("debug.keystore") } myConfig { storeFile file("other.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } } buildTypes { foo { debuggable true jniDebugBuild true signingConfig signingConfigs.myConfig } } }

La cosa es que quiero mantener mi archivo build.gradle en control de versiones y no tengo la sensación de tener la contraseña para mi keystore (que es la misma que uso para otras cosas, estúpido, lo sé) en algún servidor de git.

¿Hay alguna forma de cargar el signingConfig desde un archivo externo desde algún lugar de mi disco duro?


Yo uso algo como esto.

Tengo un signing.properties en la carpeta raíz de mi aplicación.

STORE_FILE=xxxx STORE_PASSWORD=xxx KEY_ALIAS=xxx KEY_PASSWORD=xxx

Este archivo no está bajo control de versión. Por supuesto, puedes cambiar la carpeta.

Luego, en su build.gradle puede usar algo como esto:

android { signingConfigs { release } buildTypes { release { signingConfig signingConfigs.release } } } def Properties props = new Properties() def propFile = file(''../signing.properties'') if (propFile.canRead()){ props.load(new FileInputStream(propFile)) 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 }

Si cambia la carpeta, debe cambiar esta línea:

def propFile = file(''../signing.properties'')