无法恢复密钥

52
我两天前在Play Store发布了我的应用程序的第一个版本。我使用了一个带有已知别名和密码的密钥。
然后,我在eclipse中更改了我的应用程序名称,只改变了一个字母。现在,我想在eclipse中导出第2个版本,尝试使用上一次的密钥并输入别名和密码。我确信它们是正确的!!
在最后一步,Eclipse告诉我“无法恢复密钥”。我尝试使用新的密钥,但然后Play Store显示错误。我该怎么办?
编辑:

enter image description here

enter image description here

enter image description here

如您在上面的第二张图片中所见,这必须是正确的密码,否则别名将不会出现在下拉框中。此外,第二个密码是正确的,它是从第一个密码复制而来的。我只有一个别名!

最后一张图片中的目标APK文件链接无关紧要,对吗?


更改应用程序名称。您是指从清单文件中更改还是从Eclipse>项目>重构>重命名中更改? - wtsang02
在Eclipse中,我点击了“重构” - “重命名”! - user896692
如果您没有为别名条目设置密码,也会出现错误。我将密码设置为别名,然后它就可以工作了。 - Bhushan Karmarkar
4个回答

132

解决方案:KeyStore密码和Key密码应该相同。

使用keytool更改两个密码

更改KeyStore密码

keytool -storepasswd -new %newpassword% -keystore %YourKeyStore%.jks

将%newpassword%替换为您的实际密码,YourKeyStore也同样如此

更改别名密钥密码

keytool -keypasswd -alias %MyKeyAlias% -new %newpassword% -keystore KeyStore.jks

注意:当要求提供密钥库和别名的旧密码时,请提供它们。(引用自http://karim-ouda.blogspot.com/2010/07/errors-solutions-5.html)

5
非常感谢!但他们为什么要这样做呢? - Sagar Sodah
最近的 Studio 版本中已经不再出现这种情况了,但在 Android Studio 1.4 中似乎又出现了,但使用相同的密码可以解决问题。 - Longmang
10
使用第二个命令时,会出现以下错误:java.security.UnrecoverableKeyException: Cannot recover key - JCarlosR
1
到目前为止,它仍然在我的情况下给出这个错误:keytool error: java.security.UnrecoverableKeyException: Cannot recover key - 0xAliHn
1
SoapUI也要求使用相同的密码。 - m7913d
显示剩余5条评论

13

如果您的密码中包含特殊字符,请使用此工具进行更改:

http://keystore-explorer.org/

我已尝试在Windows上使用命令,但由于特殊字符的缘故,它无法正常工作。

输入图像描述


7
更改应用名称不会在签署应用程序时产生任何问题。可能是您输入了错误的密码或密钥库别名。
您不能创建新的密钥库来签署应用程序。如果这样做,那么它就是另一个应用程序,您将无法更新当前现有的应用程序。
尝试使用第一个密钥库和正确的密钥库别名和密码重新签署该应用程序。这可能对您来说很困难,但是如果您未能使用第一个密钥库文件重新签署,则无法使用第二个版本更新该应用程序。

谢谢你的回答。如果你认为这不会造成任何问题,有没有办法显示我使用的密码?可能没有... - user896692

0
在我的情况下,错误是由于密码中的特殊字符Ç造成的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接