La libération de la signature de gradle.propriétés pour Android
Donc je suis en train de convertir tous mes scripts ant à gradle, et j'ai été en mesure de trouver suffisamment de ressources et de documentation sur tout sauf sur la manière de configurer la signature dans le gradle.fichier de propriétés.
ant.propriétés aime-t-il donc:
key.alias=alias
key.store.password=password
key.store=keystore.file
key.alias.password=password
Mais comment puis-je faire la même chose dans gradle?
Vous devez vous connecter pour publier un commentaire.
Dans votre gradle.propriétés fichier de magasin les mêmes valeurs que dans le ant.propriétés fichier, je pense que vous aurez à faire des noms plus simples, comme
keyAlias
par exemple. Il suffit de retirer les points pour être sûr.puis dans votre construire.gradle fichier faire quelque chose comme ceci:
Le faisant de cette manière vous donne la flexibilité de construire sur un ordinateur qui a le gradle.propriétés fichier ou pas. Le "keyalias" la propriété est en lecture uniquement si il existe, pour le code avec pas échouer si elle n'est pas là.
Si toutes les propriétés sont là,
signingConfigs.release
sera entièrement configuré et peut être utilisée pour signer les apk que lors de la compilation. Si elle n'est pas là, l'APK seront construits mais non signée.J'ai été en mesure de le faire à la suite. J'ai essayé @Xav de la solution, mais il faudrait se plaindre lors de la libération de la phase de validation, si je n'avais pas le jeu de propriétés. Je suis sûr que c'est un changement récent en raison du cadre beaucoup changé. Je voulais juste aider, en soulignant que la
else
à la fin, j'ai été en mesure de forcer la libération signingConfig à null. Maintenant, tous les deux signés et non signés, les communiqués de se produire en fonction de la présence de la gradle.les propriétés.Certaines de ces notes, vous pouvez mettre le gradle.propriétés dans ~/.gradle/si vous ne voulez pas assis dans le dossier du projet. Aussi, vous pouvez définir la
storeFile
propriété avec un chemin absolu comme ceci:storePath=file:///Users/nick/Dropbox/mycompany.keystore
Inspiré par Eugens solution je suis venu avec un peu plus courte de la variance. Le code doit être dans l'android {} la configuration des tâches.
Gradle de 1,9 ne vous permet pas de définir des propriétés. Vous pouvez les ajouter seulement à la poste maintenant. Petit plus pour les réponses précédentes:
Il y a un bon guide sur ce - https://github.com/almalkawi/Android-Guide/wiki/Generating-signed-release-APK-using-Gradle
Mes exigences ont été que tout le monde sans le fichier de clés doit être en mesure de construire correctement. C'est la façon la plus propre que j'ai pu trouver: