美文网首页
java.io.IOException: Invalid key

java.io.IOException: Invalid key

作者: 逆水寒Stephen | 来源:发表于2022-11-01 16:26 被阅读0次

执行apk签名命令格式如下: C:/Users/root/AppData/Local/Android/Sdk/build-tools/30.0.3/apksigner sign --ks C:\development\xxxxx.jks --ks-key-alias xxxx --ks-pass pass:xxxx --key-pass pass:xxx --out C:\development\xxxxx_signed.apk C:\development\xxorigin_app.apk

  • 详细报错如下:
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.loadKeyStoreFromFile(ApkSignerTool.java:829)
        at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCertsFromKeyStore(ApkSignerTool.java:719)
        at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCerts(ApkSignerTool.java:659)
        at com.android.apksigner.ApkSignerTool$SignerParams.access$500(ApkSignerTool.java:611)
        at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:266)
        at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89)

这个报错究其原因是签名的jks文件和运行的apksigner命令版本不匹配导致,姑且猜测是一个apksigner执行文件对应一个时段的jks生成器,因此要解决这个问题,需要确定AndroidSdk里面一个合适的build-tools版本,具体到你AndroidSdk的build-tools查看有哪些版本,然后用这些版本尝试替换掉命令中的详细版本(如:C:/Users/root/AppData/Local/Android/Sdk/build-tools/替换的具体版本/apksigner),能执行成功为准!

相关文章

网友评论

      本文标题:java.io.IOException: Invalid key

      本文链接:https://www.haomeiwen.com/subject/utartdtx.html