我有一个密钥库(.jks),我用它来签署我的应用程序(.APK)的Google Play的前一个版本。这是1年前左右。
现在,当我尝试构建和使用我的密钥库时,Android Studio会给我以下不正确的错误:* 无法构建签名的APK。密钥库已被篡改,或密码不正确。*
Android Studio version information:
Android Studio Bumblebee | 2021.1.1 Patch 3
Build #AI-211.7628.21.2111.8309675, built on March 16, 2022
Runtime version: 11.0.11+0-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.11.0-49-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 12
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin (211-1.6.21-release-334-AS7442.40)
Current Desktop: ubuntu:GNOME
下面是我尝试运行的功能:
Build =〉Generate Signed Bundle / APK显示以下屏幕...
当我点击[完成]按钮时,Android Studio尝试构建&它失败并显示错误:
无法构建签名的APK。密钥库已被篡改,或密码不正确。
这是不正确的错误
但是,这是不正确的,因为我使用密码管理器来存储密码,所以我知道我有正确的密码。我还保存了上次运行此功能的屏幕截图,以便我可以确认密钥别名,它也是正确的。
"我尝试过的事情“
1.我试着重建了几次&得到了错误。
1.我关闭并重新启动Android Studio &仍然得到错误.
Android Studio一度崩溃,并出现错误报告&我又试了一次&它又失败了。
为什么会出现此错误?
我发现其他一些人报告说,密码中包含特殊字符(@!等)at this link似乎是个问题。
看起来确实是同样的失败,但我终于让它起作用了&我会把答案贴出来的。
2条答案
按热度按时间gg0vcinb1#
我启动了一个控制台窗口,并对我的密钥库运行了以下代码。
$ keytool -list -keystore 'fakeNmae.jks' -storepass fake-password-same-one-i-used-in-android-studio
我看到我的密钥库的细节打印出来的控制台:
密钥库类型:JKS密钥库提供程式:太阳
您的密钥库包含1个条目
假别名,2019年12月15日,私钥输入,证书指纹(SHA-256):63:D3:69:69:39:29:5D:5E:14:20:E1:F6:FA:DF:艾德(假数据)
警告:JKS密钥库使用专用格式。建议使用“keytool -importkeystore -srckeystore fakeName.jks -destkeystore fakeName. jks-deststoretype pkcs 12”迁移到行业标准格式PKCS 12。
由于我必须提供我的密码,这证实了我确实使用了正确的密码。
它还确认密钥库未被篡改(损坏)。
这一点上我有点困惑。
解决方案
我再次启动AndroidStudio &又试了一次,它构建了签名的APK,没有问题。我能够将其上传到Google Play。
非常奇怪。似乎列出细节以某种方式修复了Android Studio中的问题。很想从可能知道原因的人那里听到一些关于这方面的信息。
也许这与关于PKCS 12格式的新警告有关??
iecba09b2#
在我的例子中,别名是错误的,别名是在创建密钥库期间指定的,所以如果别名与创建期间指定的别名不同,您肯定会得到一个错误。