当我使用keytool -list -keystore /path/to/keyfile.jks
并提供我的密码,我可以看到那里的条目,但是当我在尝试使用相同的密码生成签名的 APK 时使用相同的密码时,我收到错误
无法加载密钥库:密钥库被篡改,或密码不正确
请帮忙!
经过20个小时的不懈寻找,得到了答案。
显然密码中的字符“&”存在一些问题,如此处所述https://code.google.com/p/android/issues/detail?id=36350 https://code.google.com/p/android/issues/detail?id=36350尽管在我的例子中,该字符是“@”。
对于任何陷入困境的人,这就是我所做的(也应该对他们有用)
- 我用的是
keytool -keypasswd -alias <key_name> -keystore mykeystorek.jks
命令更改我的密钥别名密码的密码。
- 由于我怀疑我的原始文件存在一些问题,因此我认为最好将密钥导出到另一个文件。我这样做是使用
keytool -importkeystore -srckeystore my.keystore.jks -destkeystore new.keystore -deststoretype pkcs12
其次是keytool -importkeystore -srckeystore new.keystore -srcstoretype pkcs12 -destkeystore final.keystore -deststoretype jks
.
其作用是,以 PKCS12 格式导出原始密钥库值,然后以文件名 Final.keystore 恢复为 Java 密钥库格式。在所有这些命令中,提示符要求输入新的目标密码,我仔细选择了该密码,避免了@
and &
.
现在可以了!
正如上面共享的链接所示,这似乎是由于 SDK Tools 20 中推送的一些更新造成的。我知道这很糟糕。
其他应用程序所有者似乎也对谷歌很生气。 :(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)