Android使用apksigner对apk进行v2签名问题

关于Android二次签名问题:参考博文

在此处着重说说我在二次签名是遇见的坑。在工作中接到需求:对加固后的Android APK 进行二次签名。在查阅Google 官方文档之后,使用apksigner 进行二次签名。

先简述我参考博文的意思:

(1)先找到电脑中25或者25以上版本的SDK的build-tools\版本号的目录,并把需要签名的安装包放在该目录下。
(2)使用zipalign将安装包对齐(一定要先将安装包对齐):打开cmd,将目录切换到sdk的build-tools\版本号的目录下(也可以在该目录下面点击空白区域再按住 Shift+鼠标右键 在此处打开命令窗口),使用命令:zipalign -v -p 4 input.apk output.apk进行对其操作,其中input.apk是需要签名的安装包,output.apk是对齐之后的的安装包。
(3)把对齐后的安装包apk文件放到build-tools\版本号下的lib文件下,使用apksigner对安装包进行签名:打开cmd,将目录切换至当前目录下,使用如下命令:java -jar apksigner.jar sign --ks kestore的路径 --out output.apk input.apk 然后会提示输入keystore的密码,输入后回车即可完成签名(其中input.apk是对齐之后需要签名的安装包,output.apk是最终完成签名的安装包)。 kestore的路径,也可以直接填写keystore(确保ksystore在同级目录下)
(4)检查是否签名成功:依旧在当前目录下打开cmd,然后输入如下命令:java -jar apksigner.jar verify -v my.apk。如果v1 scheme和v2 scheme的值都为true,即表示签名成功。
 遇见问题:Failed to determine APK is minimum supported platform version,大体意思就是无法确定APK是最低支持的平台版本(也就是minSdkVersion的值)

解决办法:解开还未签名的apk查看里面的AndroidManifest.xml 是否配置指定minSdkVersion,无果没有需要在触宝之前添加上去;如果在AndroidManifest.xml 已经指定了minSdkVersion ,但是出包之后却找不到minSdkVersion,说明在出包时各个引用的JAR 或者aar 里面AndroidManifest.xml 有冲突,在出包时候合并AndroidManifest.xml 出问题了。这时需要你去查出问题的原因,此处不对AndroidManifest.xml 合并做解释。

此文仅作共享参考,如果不足欢迎指出。

参考博文:https://blog.csdn.net/Mrzhouxu/article/details/79225439
————————————————
版权声明:本文为CSDN博主「AnotherQuiet」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/AnotherQuiet/article/details/80361266

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值