Vous pouvez placer le fichier .jks
n'importe où.
Cela signifie que vous pouvez mettre le fichier dans votre projet, ou vous pouvez mettre le fichier dans un dossier externe (juste jeter un oeil le chemin ci-dessous). Cela dépend de votre politique. Utilisez simplement gradle pour configurer la signature de votre apk.
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
façon simple: définir simplement les informations d'identification dans votre fichier build.gradle.
signingConfigs {
release {
//Pay attention to the path. You can use a relative path or an absolute path
storeFile file("../your_key_store_file.jks")
storePassword 'some_password'
keyAlias 'alias_name'
keyPassword 'key_password'
}
}
Utilisation d'un fichier .properties pour stocker les informations d'identification en dehors du script (par exemple, si vous ne voulez pas pousser les informations d'identification dans un git).
Exemple: signing.properties
STORE_FILE=/path/to/your.keystore
STORE_PASSWORD=yourkeystorepass
KEY_ALIAS=projectkeyalias
KEY_PASSWORD=keyaliaspassword
ensuite obtenir ces valeurs dans votre fichier build.gradle:
signingConfigs {
release
}
Définissez ensuite:
def Properties props = new Properties()
def propFile = new 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 {
println 'signing.properties found but some entries are missing'
android.buildTypes.release.signingConfig = null
}
}else {
println 'signing.properties not found'
android.buildTypes.release.signingConfig = null
}
Ce qui signifie que nous ne voulons pas garder fichier '.jks' à l'intérieur de la racine d'apk c'est-à-dire la racine de l'application? Pourquoi nous donnons ces choses 'fichier storeFile (" myreleasekey.keystore ") storePassword" mot de passe " keyAlias" MyReleaseKey " keyPassword" mot de passe "' dans gradle? s'il vous plaît élaborer la réponse à mon doute. – Christ
@Christ Mise à jour de la réponse. L'emplacement des fichiers .jks n'est pas important. Avec le script Gradle, vous pouvez définir le chemin. Pour construire avec build.gradle vous devez dire à Gradle les informations d'identification. Vous pouvez les définir dans le script ou à l'extérieur. –
Le mot de passe de magasin et d'autres informations d'identification doivent être correspondre avec les credentiols donnés pendant que nous générons APK http://developer.android.com/tools/publishing/app-signing.html#studio? – Christ