android jar无效,使用jarsigner签名APK时出错:无法签名jar无效条目压缩大小

Jarsigner是一个Java实用程序, 它使用来自密钥库的密钥和证书信息来生成JAR文件的数字签名。密钥库是专用密钥及其关联的X.509证书链的数据库, 这些证书对相应的公用密钥进行身份验证。为了在Play商店中发布应用, 你需要对apk进行签名。

以下命令应足以使用密钥库对APK进行签名:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mykey.keystore myfile.apk alias_name

但是, 某些开发人员(本机应用程序或Cordova之类的混合应用程序)面临以下异常:

jarsigner:无法签名jar:java.util.zip.ZipException:无效的条目压缩大小(预期为463, 但得到465个字节)

当你的apk已经被签名(使用jarsigner可能会自动签名), zipaligned(使用zipalign)或你尝试生成的APK是在调试模式下生成的, 就会发生此错误。因此, 请确保你提供的是未签名或未zipaligned的apk文件, 并且所有内容均应按预期工作。

如果由于某种原因你无法从地面构建APK(因为你仅收到APK, 并且无法使用源代码编译新的APK), 则可以尝试从命令行使用zip删除当前签名:

zip -d your-file.apk META-INF/\*

请记住, 只要密钥不同, 就可以多次对APK签名。

编码愉快!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值