web-dev-qa-db-fra.com

Erreur de signature APK: Impossible de lire la clé du magasin de clés

Je développe une application Android sous intellij et gradle. et en utilisant le moyen suivant pour générer un fichier de magasin de clés:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

puis 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'
    }
}

pour finalement générer un fichier apk signé: ./gradlew assembleRelease

cela donne l'erreur:

L'exécution a échoué pour la tâche ': Myexample: packageRelease'.

Impossible de lire la clé du magasin de clés

54
Jacky

Vérifiez tout d’abord votre fichier de clés. Dans cet exemple, vous créez un fichier portant le nom my-release-key.keystore. Si c'est correct et vraiment présent dans le dossier Users/bournewang/Documents/Project alias check, dans votre exemple, il s'agit de -alias alias_name , mais dans la configuration vous avez spécifié alias mike

59
cooperok

Pour savoir ce qui ne va pas, vous pouvez utiliser la commande signingReport de gradle.

Sur mac:

./gradlew signingReport

Sous Windows:

gradlew signingReport
49
Tom Susel

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;)

8
ptitvinou

La suppression de double-quotes a résolu mon problème, maintenant sa:

DEBUG_STORE_PASSWORD=androiddebug
DEBUG_KEY_ALIAS=androiddebug
DEBUG_KEY_PASSWORD=androiddebug
2
fincode

Dans mon cas, lors de la copie du texte depuis une autre source, il incluait en quelque sorte l'espace à la fin de l'entrée dans le presse-papier. De cette façon, le mot de passe de la clé avait un espace à la fin.

2
Stjepan Golemac

Cela pourrait être n'importe quel paramètre, pas seulement le nom de fichier ou l'alias - pour moi, c'était le mot de passe clé.

0
A-S

Si vous n'utilisez pas les configurations de signature et essayez de tester la commande Cordova Release en tapant tous les paramètres en ligne de commande, vous devrez peut-être entourer vos mots de passe de guillemets simples si votre mot de passe contient des caractères spéciaux.

cordova run Android --release -- --keystore=../my-release-key.keystore --storePassword='password' --alias=alias_name --password='password'
0
Mohamed Azher