¿Debería comprometer la liberación del almacén de keys para la aplicación de Android al repository del equipo?

Estamos desarrollando la aplicación de Android en equipo. Para crear una aplicación de lanzamiento firmada, debe establecer la ruta del almacén de keys, la contraseña, el alias de la key y la contraseña de la key. Si quiero que yo y cualquier miembro de mi equipo pueda crear una aplicación firmada con la misma firma, ¿debo asignar el file de almacenamiento de keys al control de origen?

Usted no debe.

Release keystore es la información más sensible.

En mi equipo, solo hay una persona que puede firmar el package de lanzamiento. (Y puede ser uno para hacer copys de security).

Toda la información sensible DEBE ser ignorada y hacemos reference a esta información.

En mi equipo, configuramos así:

En Android Studio :

/local.properties file:

 storeFile=[path/to/keystore/file] keyAlias=[alias's key] keyPassword=[alias's password] storePassword=[key's password] 

/app/build.gradle , config scope:

 signingConfigs { release { Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) storeFile file(properties.getProperty('storeFile')) keyAlias properties.getProperty('keyAlias') storePassword properties.getProperty('storePassword') keyPassword properties.getProperty('keyPassword') } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } . . . } 

Ver mi configuration de demostración completa:

 apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "22.0.1" defaultConfig { multiDexEnabled = true applicationId "com.appconus.demoapp" minSdkVersion 16 targetSdkVersion 21 multiDexEnabled = true versionCode 18 versionName "1.3" } signingConfigs { release { Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) storeFile file(properties.getProperty('storeFile')) keyAlias properties.getProperty('keyAlias') storePassword properties.getProperty('storePassword') keyPassword properties.getProperty('keyPassword') } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } applicationVariants.all { variant -> appendVersionNameVersionCode(variant, defaultConfig) } } } dependencies { compile 'com.google.android.gms:play-services:8.1.0' }