Je travaille sur une application native réagissant sur Windows. Pour pouvoir generate a signed release apk j'ai ajouté MYAPP_RELEASE_STORE_PASSWORD=***
et MYAPP_RELEASE_KEY_PASSWORD=***
à mon fichier /projectname/android/gradle.properties
(Like it says so here). Maintenant, je me demande si je devrais ajouter le fichier à gitignore pour l'empêcher d'être téléchargé sur github, ou est-il un moyen de stocker le mot de passe dans un fichier différent?Gradle.properties doit-il être dans gitignore pour qu'un projet natif réagisse pour masquer le mot de passe?
Répondre
Vous pouvez ajouter cette information à votre fichier super gradle.properties sur ${HOME}/.gradle/gradle.properties
et il devrait être prêt pour vous.
Vous pouvez également renommer ces propriétés sur app/build.gradle
et utiliser des propriétés différentes pour différents projets si nécessaire.
Par exemple, mon projet FOO a
112 release {
113 storeFile file(FOO_RELEASE_STORE_FILE)
114 storePassword FOO_RELEASE_STORE_PASSWORD
115 keyAlias FOO_RELEASE_KEY_ALIAS
116 keyPassword FOO_RELEASE_KEY_PASSWORD
117 }
Et sur mon ${HOME}/.gradle/gradle.properties
je:
1 FOO_RELEASE_STORE_FILE=foo-release-key.keystore
2 FOO_RELEASE_KEY_ALIAS=foo.android
3 FOO_RELEASE_STORE_PASSWORD=******************
4 FOO_RELEASE_KEY_PASSWORD=***************
Mais le problème avec ceci est que lorsque vous utilisez Windows '$ {HOME} /. Gradle/gradle.properties' ne semble pas exister (décrit aussi sur le blogpost lié). – Niels
J'ai trouvé la solution pour stocker les mots de passe dans un fichier séparé ici: Sign APK without putting keystore info in build.gradle
Dans build.gradle ajouter:
// Load keystore
def keystorePropertiesFile = rootProject.file("keystores/release.keystore.properties");
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
Et un peu plus bas:
signingConfigs {
release {
storeFile file(keystoreProperties['MYAPP_RELEASE_STORE_FILE'])
storePassword keystoreProperties['MYAPP_RELEASE_STORE_PASSWORD']
keyAlias keystoreProperties['MYAPP_RELEASE_KEY_ALIAS']
keyPassword keystoreProperties['MYAPP_RELEASE_KEY_PASSWORD']
}
}
Et puis ajoutez release.keystore.properties
au fichier .gitignore
.
(Désolé pour répondre à ma propre question, je déteste faire ça ..)
Alors, quel est le contenu de 'keystores/release.keystore.properties'? Est-ce que ce sont ceux-ci? MYAPP_RELEASE_STORE_FILE = myapp-release-key.keystore MYAPP_RELEASE_KEY_ALIAS = myapp-key-alias = MYAPP_RELEASE_STORE_PASSWORD mot de passe MYAPP_RELEASE_KEY_PASSWORD = mot de passe – vzhen
Vérifiez ce lien dans la documentation: http://stackoverflow.com/documentation/android-gradle/5249/configure-signing-settings # t = 201702081442045666847 Il y a beaucoup de moyen de gérer le fichier qui stocke le mot de passe. –