Android Studio: cannot recover key

I’m not surprised this didn’t gain any traction, but here is what I did for anyone who stumbles onto this post.

As I said, all of my files were backed up. I restored the android.jks file from an older backup. Then, I opened a Terminal window and typed in the following:

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]

The keystore and key passwords have to be the same! This fixed my problem, and I hope it helps you too.

[Update: This no longer works in Android studio 3.0 and above]

I faced the similar problem and none of the solutions worked after wasting 3 hours on Internet, I decided to dig deep.

Here is how I solved it:
The “Cannot recover key” error for me was because my “Keystore password” was correct but the “Key Password” (of the key alias) was incorrect. I was pretty sure the both passwords were same but to my dismay they weren’t and I didn’t know what the second password was. As I had already signed an APK before I checked out the log file which
can be found:

  • C:Usersyour_username.AndroidStudio2.1systemlog

Open the log files from the date which you had signed the apk and look for the following entries:

 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:HobbyProjectsXYZProjectgpsjs.jks, 
-Pandroid.injected.signing.store.password=***KeyStorePassword***, 
-Pandroid.injected.signing.key.alias=***alias_name***, 
-Pandroid.injected.signing.key.password=***Key password***, 

And you will find the passwords in plain text.
This will even work if you forget passwords.

If it can help anyone – the problem in my case was that the “Key store password” and “Key password” were incorrect.

Leave a Comment