错误:无法从商店读取密钥:...生成签名APK时无法在Android Studio上恢复密钥

时间:2016-01-16 17:38:29

标签: android android-studio apk alias keystore

我正在尝试为我的新游戏生成发布apk。即使我3天前更新了我的其他应用程序之一,密钥库也没有任何问题。我完全相信我能正确记住我的密码。因为当我提供错误的密码时,它表示您的密码或用户名不正确。

这就是我正在做的事情:

enter image description here

这就是我得到的:

enter image description here

请帮助我,我在这里做错了什么? Android studio 2天前更新。你认为这会导致这个问题吗?我该怎么办?任何帮助将非常感谢...

在发布此问题之前,我实际上已阅读过这篇文章Android Studio: cannot recover key。虽然我面对这个提示,但他试图按照他在答案中所示的那样做:"文件被篡改或密码不正确"。现在我知道密码绝对正确。我担心我永远无法再次更新我的应用程序。

3 个答案:

答案 0 :(得分:1)

我建议您使用此工具在别名密码上运行智能单词列表攻击:

http://maxcamillo.github.io/android-keystore-password-recover/

  1. 使用上面的网址下载此项目的JAR文件。

  2. 按照您认为出现的顺序,创建一个名为wordlist.txt的文本文件,其中包含构成密码的字词和字符串。将您认为是密码一部分的每个字符串放在单独的行中。不要在每个字符串之间留下空行。您可能需要在此过程中多次修改wordlist.txt以破解密码。您也可以尝试使用您认为可以想到的密码的所有变体。

  3. 将wordlist.txt保存到与JAR文件相同的文件夹中。

  4. 从命令行导航到包含wordlist.txt和JAR文件的目录。

  5. 在命令行输入:java -jar AndroidKeystoreBrute_v1.06.jar -k" keystore.jks的完整路径" -d wordlist.txt查看可用选项。您可能想尝试使用与我在测试中使用的选项不同的选项。

  6. 运行java -jar AndroidKeystoreBrute_v1.06.jar -m 3 -k" keystore.jks的完整路径" -d wordlist.txt

  7. -m选项指定用于破解密码的方法: 1 =暴力攻击(可能需要数周,数月或更长时间) 2 =字典攻击(您的密码必须在字典中) 3 =智能单词列表攻击(您在wordlist.txt中指定的字符串)

    我测试了这个我自己的别名密码很多次,并且在wordlist.txt中有许多不同的变体,它在不到1秒的时间内破解了我的密码,或者根本没有找到密码。由于您认为别名密码与密钥存储区密码相同,因此此过程可帮助您找到这两个密码。

    当然我知道我的密码,所以我知道要放入哪些字符串会起作用。但是,由于您确实记得您的密码,因此智能单词列表攻击应该能够快速找到您的密码,如果它实际上是您记忆中的密码。

    祝你好运!!

    将来您可能希望将密码存储在密码管理器中,并始终复制和粘贴密码。人类记忆非常适合记住一般的想法,并且对于记住确切的项目或细节完全不可靠。

答案 1 :(得分:1)

经过一段时间,R& D我得到了解决方案

您的“密钥库密码”和“密码密码”必须相同。

答案 2 :(得分:0)

在关注@joshgoldeneagle 回复后获得成功。 提示只给了我别名密码,但使用 -w 功能我得到了一个密钥,两个密码都设置为恢复的密码。

"-w 将证书保存在与密钥相同的密码的新密钥库中"

java -jar AndroidKeystoreBrute_v1.06.jar -m 3 -k "keystore.jks 的完整路径" -d wordlist.txt -w