web-dev-qa-db-fra.com

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

J'ai cherché StackOverflow pendant un moment, mais je voulais juste m'assurer que ...

Il y a quelque temps, j'ai nettoyé mon ordinateur portable et sauvegardé tous mes fichiers. Mon fichier Android.jks est sauvegardé et il est remis en place. Lorsque j'essaie de générer un fichier APK signé, cela me donne la même erreur redoutée que tout le monde a:

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 clé de magasin. Tout est correct. Qu'est-ce que je rate? J'ai sauvegardé tous mes fichiers, donc s'il me faut un fichier spécifique, je pourrais le trouver, mais je ne sais pas quoi faire ...

Si cela ne vous dit rien, demandez-moi de clarifier. Merci!

67
wasimsandhu

Je ne suis pas surpris que cela n'ait pas gagné en traction, mais voici ce que j'ai fait pour tous ceux qui tombent sur ce poste.

Comme je l'ai dit, tous mes fichiers ont été sauvegardés. J'ai restauré le fichier Android.jks à partir d'une sauvegarde plus ancienne. Ensuite, j'ai ouvert une fenêtre de terminal et saisi 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 doivent être identiques! Ceci corrige mon problème et j'espère que cela vous aidera aussi.

84
wasimsandhu

[Mise à jour: cela ne fonctionne plus dans Android studio 3.0 et supérieur]

J'ai fait face au même problème et aucune des solutions n’ayant fonctionné après une perte de 3 heures sur Internet, j’ai décidé de creuser en profondeur.

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 du magasin de clés" était correct mais que le "Mot de passe clé" (de l'alias de la clé) était incorrect. . J'étais à peu près sûr que les deux mots de passe étaient les mêmes mais à ma grande consternation, 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 fichier APK avant d’extraire le fichier journal qui contient :

  • 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 des mots de passe.

56
Build3r

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 la clé" étaient incorrects. 

16
MorZa

[Android Studio 3.3] J'ai reçu l'erreur «impossible de récupérer la clé» lors de la génération d'un fichier APK signé. J'ai pu vérifier dans une ancienne idée.log que mon mot de passe était correct: Magasin de clés et mots de passe clés étaient identiques et corrects.

Mise à jour du mot de passe de la clé dans le terminal:

keytool -keypasswd -alias MYKEY -keystore KEYSTORE

Il semble qu'il ne soit plus possible d'avoir des mots de passe identiques pour le magasin de clés et la clé. Le keytool m'a donné une erreur, quand j'ai essayé. Après avoir défini un mot de passe différent pour la clé, Android Studio a généré un fichier APK signé.

Peut-être que, dans les versions précédentes d'Android Studio, les mots de passe devaient être identiques - c'est peut-être le contraire.

3
LiebrandApps

Ce problème se produit uniquement lorsque votre mot de passe clé ou le fichier de clés incorrect est incorrect.

1
Arjun G

J'ai essayé toutes les suggestions données dans les réponses et les commentaires :(

Mon mot de passe clé et le mot de passe du magasin de clés sont exactement les mêmes. Utiliser Android studio 3.4

Ce qui a fonctionné pour moi, c’est obligé de quitter Android Studio, de redémarrer, de nettoyer et de reconstruire project, puis de générer un apk signé. toutes les configs exactement les mêmes mais cela a fonctionné cette fois

1
Zeeshan Tufail

Si vous avez Eclipse en cours d'exécution, essayez de le fermer et de générer à nouveau un fichier apk signé. 

Dans mon cas, j'ai vérifié que tous les mots de passe étaient corrects et même généré un nouveau magasin de clés à partir du studio Android. Cela ne fonctionnait toujours pas, mais après avoir arrêté Eclipse en cours d'exécution, tout fonctionnait, avec l'ancien magasin de clés que j'ai utilisé ou avec un magasin nouvellement généré.

0
RedSIght

J'ai compressé mon fichier de signature avant la première création. Quand j'ai eu cette erreur, je l'ai utilisée à nouveau. Vous pouvez l'utiliser si vous avez une sauvegarde. Je pense que nous avons cassé des choses avant qu'ils ne remarquent.

0
MhmKK

J'ai eu la 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 répertoriés en texte brut. Je pensais qu'ils étaient identiques, mais ils ne l'étaient pas.

0
saswanb

Cela peut aider quelqu'un.

Quelques jours avant, j’ai sauvegardé mon projet Android sur gitlab puis installé Windows 10 . Après cela, je l’ai cloné. Je connaissais parfaitement le pseudonyme et les deux mots de passe.

Ensuite, lors de la création d’un apk signé, j’ai entré ces informations d’identité mais j’ai échoué.

J'avais placé le fichier jks dans le dossier de l'application. Je l'ai retiré de là et créé dossier distinct dans le dossier racine du projet Android et fichier jks placé là.

Ensuite, j'ai essayé nettoyer, reconstruire le projet puis j'ai redémarré Android Studio. Enfin, il a construit l'apk signé: D

0
Makarand
0
Shahbaz Ahmad