Android Studio: impossible de récupérer la clé

J’ai cherché StackOverflow pendant un moment, mais je voulais juste m’assurer …

J’ai nettoyé mon ordinateur portable il y a quelque temps et j’ai sauvegardé tous mes fichiers. J’ai mon fichier android.jks sauvegardé et il est remis en place. Lorsque j’essaie de générer un APK signé, cela me donne la même erreur redoutable que tout le monde reçoit:

Error:Execution failed for task ':app:packageRelease'. > Failed to read key conjugationappkey from store "/Users/wasimsandhu/android.jks": Cannot recover key 

J’ai mon android.jks, le mot de passe clé, le mot de passe du magasin de clés. Tout est correct. Qu’est-ce que je rate? J’ai sauvegardé tous mes fichiers, donc s’il y a un fichier spécifique dont j’ai besoin, je pourrais le trouver, mais je n’ai aucune idée de ce qu’il faut faire …

Si je n’ai aucun sens, s’il vous plaît, demandez-moi de clarifier. Merci!

Je ne suis pas surpris que cela n’ait pas attiré l’attention, mais voici ce que j’ai fait pour quiconque tombe sur ce post.

Comme je l’ai dit, tous mes fichiers ont été sauvegardés. J’ai restauré le fichier android.jks à partir d’une ancienne sauvegarde. Ensuite, j’ai ouvert une fenêtre de terminal et tapé ce qui suit:

 keytool -storepasswd -new [insert new keystore password] -keystore [insert keystore file name] keytool -keypasswd -alias [insert alias] -new [insert new key password] -keystore [insert keystore file name] 

Le fichier de clés et les mots de passe principaux doivent être identiques! Cela a résolu mon problème et j’espère que cela vous aidera aussi.

[Mise à jour: Cela ne fonctionne plus dans les studios Android 3.0 et supérieurs]

J’ai fait face à un problème similaire et aucune des solutions n’a fonctionné après avoir perdu 3 heures sur Internet, j’ai décidé de creuser profondément.

Voici comment je l’ai résolu: L’erreur “Impossible de récupérer la clé” était due au fait que mon “mot de passe Keystore” était correct mais que le “Key Password” (de l’alias de la clé) était incorrect . J’étais à peu près sûr que les deux mots de passe étaient identiques mais, à mon grand désarroi, ils ne l’étaient pas et je ne savais pas quel était le deuxième mot de passe. Comme j’avais déjà signé un APK avant d’avoir vérifié le fichier journal qui peut être trouvé:

  • C: \ Utilisateurs \ votre_nom_utilisateur \ .AndroidStudio2.1 \ system \ log \

Ouvrez les fichiers journaux à partir de la date à laquelle vous avez signé l’apk et recherchez les entrées suivantes:

  INFO - .project.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: [--configure-on-demand, -Pandroid.injected.invoked.from.ide=true, -Pandroid.injected.signing.store.file=E:\HobbyProjects\XYZProject\gpsjs.jks, -Pandroid.injected.signing.store.password=***KeyStorePassword***, -Pandroid.injected.signing.key.alias=***alias_name***, -Pandroid.injected.signing.key.password=***Key password***, 

Et vous trouverez les mots de passe en texte brut. Cela fonctionnera même si vous oubliez les mots de passe.

Si cela peut aider quelqu’un – le problème dans mon cas était que le “mot de passe du magasin de clés” et le “mot de passe de clé” étaient incorrects.

J’ai eu un coup de chance de vérifier dans Android Studio l’onglet Structure / signature du projet, et j’ai trouvé le mot de passe clé et le mot de passe du magasin en texte brut. Je pensais qu’ils étaient les mêmes, mais ils ne l’étaient pas.