在使用eclipse签名Android应用程序时,密钥别名丢失

6
我已经创建了一个密钥库,签署了apk并将其发布到Play商店。现在我进行了一些错误修复,仍然使用同样的密钥库和密码,并在导出Android应用程序向导中点击下一步。它给我显示了一个别名名称的下拉框,但是没有别名名称。但是昨天对我来说,相同的东西可以用来签署同一个项目,现在却为空。 我也尝试在命令行上执行此操作,但它显示“密钥库被篡改或密码不正确”,但我非常确定密码是正确的,密钥库也是正确的。这对我来说是个严重的问题。请帮帮我!
6个回答

8
首先,您应该检查您是否真正输入了正确的密码。 如果在Eclipse中执行签名导出时输入错误的密钥库密码,则Eclipse中的别名下拉列表将为空(且不可编辑)。此外,对话框顶部将显示消息“密钥库已被篡改或密码不正确”,而不是消息“输入密钥密码”。
如果您绝对确定您有正确的密码并且正在使用正确的密钥库,则我能想到的唯一其他解释是密钥库出现问题。也许您将其保存为ASCII格式在您的CVS / SVN中?

这正是我的问题所在。由于这是一个例行程序,我完全忽略了错误信息 - “密钥库已被篡改或密码不正确”。 - wired00
哦,我的天啊,真是救命恩人!感谢您的回答,您让我免受了很多痛苦 :) - vedi0boy

2

我曾经遇到同样的问题,经过长时间的搜索,我终于解决了这个问题。

什么导致了这个错误?

这个错误会在以下情况下发生:

  1. 您输入了错误的密钥库密码
  2. 由于某种原因,您的密钥库已经损坏

我的案例

在我的情况下,我使用了一个正确的密码,这意味着我的密钥库已经损坏。

一切都很好,直到我重命名了我的应用程序,并改变了密钥库和apk的位置。然后我对密钥库和apk的位置感到困惑,在那个混乱中,我可能用新的apk替换了密钥库,这导致了密钥库的损坏,但我不能百分之百确定。

我是如何解决它的

修复很简单。对于win7:找到已损坏的“原始”密钥库,右键单击它,选择属性,上一个版本,选择密钥库正常时的早期版本并单击还原

当您点击上一个版本时,您需要给它一些时间(我的花了大约30秒)。如果仍然没有发生任何事情,那么您正在尝试恢复的密钥库可能不是“原始”的,可能是副本或其他东西。

(我说“原始”是因为我尝试了其他方法来修复这个错误,我不得不复制密钥库,所以要确保使用原始损坏的密钥库

如果仍然没有发生任何事情

如果您完成了上述操作,但Eclipse仍然没有显示别名,则可能已更改密钥库目录,就像我所做的那样。

如果您已更改密钥库目录,则应执行上述所有操作,然后将其放置在之前正常工作的目录中,否则eclipse将无法找到别名!

要查看是否可以在不使用Eclipse的情况下使用您的密钥库,请使用KeyTool。

  1. 找到Java JRE bin文件夹,其中应该包含keytool.exe(我的是C:\ Program Files \ Java \ jre1.8.0_25 \ bin)
  2. 在那里复制您的密钥库(为简化事情)
  3. 打开命令行并运行以下命令

cd C:\ Program Files \ Java \ jre1.8.0_25 \ bin

keytool -list -keystore“yourkeystorename”

然后您应该被要求输入密钥库密码,如果没有,则密钥库仍然损坏,这意味着还原不起作用。

请记得每次发布应用程序并且您知道密钥库正常工作时,都要制作工作密钥库的副本。


1

我想您输入了错误的密码...请确保密码正确...否则别名将不会显示在下拉列表中...

或者

可能您的密钥库位置已更改...


0

抱歉,我遇到了同样的问题,并意识到我缺少的只是我将密钥存储在另一个文件夹中的位置。当我尝试更新APK时,它没有显示密钥别名,因为我尝试从中读取密钥的文件夹中没有密钥。所以我意识到我已经将它保存在另一个文件夹中。一旦我重新定位了正确的文件夹,密钥别名就出现了,从那里开始一切都很好。


0

我曾经遇到过同样的问题,我的情况是第一次错误输入了密码,所以它没有填充别名列表。

如果您记得密码,只需清除所有项目->构建第一个并继续。这样做,就可以成功上传到Google Play。


0
如果您记得名称,请尝试将其介绍为新名称,这将强制刷新。

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