首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apksigner -无效的密钥库格式

apksigner -无效的密钥库格式
EN

Stack Overflow用户
提问于 2018-11-09 06:28:32
回答 2查看 1.7K关注 0票数 1

正如https://developer.android.com/studio/publish/app-signing#signing-manually中所描述的,我尝试在windows7的git bash中注册一个应用程序。

我用keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias生成了一个密钥库,它应该使用默认的密钥库类型,这应该没问题。

然后我运行zipalign zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk,它会给出“验证成功”(带一个s)

最后,我运行apksigner,它给出了错误:

代码语言:javascript
复制
"C:\....\apksigner.bat" sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
Keystore password for signer #1:
123456
Failed to load signer "signer #1"
java.io.IOException: Invalid keystore format
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658)
        at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
        at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
        at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
        at java.security.KeyStore.load(KeyStore.java:1445)
        at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCertsFromKeyStore(ApkSignerTool.java:613)
        at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCerts(ApkSignerTool.java:555)
        at com.android.apksigner.ApkSignerTool$SignerParams.access$200(ApkSignerTool.java:509)
        at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:215)
        at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89)

我还尝试了不同的存储类型,比如根本不支持的pkcs12 (给出:java.io.IOException: parseAlgParameters failed: PBE AlgorithmParameters not available)

所以我的问题是如何找到正确的存储类型?我在帮助和互联网上都找不到任何关于这方面的东西。

EN

回答 2

Stack Overflow用户

发布于 2021-06-25 16:20:42

如果您使用较新的JDK生成密钥库,然后使用较旧的JDK对其进行验证,则可能会发生此问题。在我的例子中:我用java16生成了keystore,并用app Center构建了应用程序,它在java8上进行验证(我想)。

试着找出你的密钥工具来自哪里( Linux上的which keytool,Powershell中的Get-Command keytool )。

票数 2
EN

Stack Overflow用户

发布于 2018-12-20 20:03:34

对我来说起作用的是你不需要对齐它。只要把它上传到谷歌,就应该没问题了。apksigner sign --ks application.keystore app-release-unsigned.apk

因此,解决方案是忽略zipalign

因为这可能会一团糟。尝试重新构建您的apk,以防您已经签名,以避免多个签名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53217117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档