美文网首页
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