Android Studio:无法恢复密钥

我已经search了一段时间StackOverflow,但我只是想确保…

前段时间,我擦了擦笔记本电脑,并备份了所有的文件。 我有我的android.jks文件备份,它回来了。 当我尝试生成签名APK时,它给了我同样可怕的错误,每个人都得到:

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

我有我的android.jks,密钥密钥,密钥存储密码。 一切都是正确的。 我错过了什么? 我备份了所有的文件,如果有需要的特定文件,我可以find它,但是我不知道该怎么办…

如果我没有任何意义,请让我澄清。 谢谢!

我并不感到惊讶,这没有得到任何的牵引力,但这是我为任何绊倒这个职位的人所做的。

正如我所说, 我所有的文件都备份了。 我从一个较旧的备份中恢复了android.jks文件。 然后,我打开一个terminal窗口,input以下内容:

 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] 

密钥库和密钥密码必须相同! 这解决了我的问题,我希望它也能帮助你。

我面临类似的问题,在互联网上浪费了3个小时之后,没有任何解决scheme能奏效,我决定深入挖掘。

下面是我如何解决它:“我不能恢复密钥”错误对我来说是因为我的“密钥库密码”是正确的,“密钥密码”(的关键别名)是不正确的 。 我很确定这两个密码是相同的,但令我沮丧的是他们没有,我不知道第二个密码是什么。 由于我已经签出一个APK之前,我检查了可以find的日志文件:

  • C:\ Users \用户your_username \ .AndroidStudio2.1 \ SYSTEM \日志\

从签名APK的date打开日志文件并查找以下条目:

  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***, 

你会发现明文密码。 如果忘记密码,这甚至会起作用。

如果它可以帮助任何人 – 在我的情况下,问题是“密码存储密码”和“密码密码”是不正确的。