Je développe l’application Android sous intellij et gradle. et en utilisant le moyen suivant pour générer le fichier de clés:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
ensuite utilisé le fichier de clés dans build.gradle:
signingConfigs { robert { storePassword 'robert' storeFile file('/Users/bournewang/Documents/Project/android.keystore') keyPassword 'robert' keyAlias 'mike' } }
en essayant enfin de générer un fichier apk signé: ./gradlew assembleRelease
ça donne l’erreur:
L’exécution a échoué pour la tâche ‘: Myexample: packageRelease’.
Impossible de lire la clé à partir du fichier de clés
Vérifiez d’abord votre fichier de magasin de clés, par exemple, vous créez un fichier nommé my-release-key.keystore. Si c’est correct et vraiment présent dans le dossier Users/bournewang/Documents/Project
vérifiez l’alias, dans votre exemple, il s’agit de -alias alias_name , mais dans config vous avez spécifié un alias mike
Pour découvrir ce qui ne va pas, vous pouvez utiliser la commande SIGNALLEPORT de signingReport
.
Sur mac:
./gradlew signingReport
Sous Windows:
gradlew signingReport
Il est fort probable que votre alias de clé n’existe pas pour votre fichier de magasin de clés.
Cette réponse devrait résoudre votre problème de signature;)
Supprimer les double-quotes
résolu mon problème, maintenant c’est:
DEBUG_STORE_PASSWORD=androiddebug DEBUG_KEY_ALIAS=androiddebug DEBUG_KEY_PASSWORD=androiddebug
Dans mon cas, en copiant le texte depuis une autre source, il comprenait en quelque sorte l’espace à la fin de l’entrée du presse-papiers. De cette façon, le mot de passe de la clé avait un espace à la fin.
Cela pourrait être n’importe lequel des parameters, pas seulement le nom du fichier ou l’alias – pour moi, c’était le mot de passe de la clé.