使用apksigner对apk进行v2签名
Posted blog4wei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用apksigner对apk进行v2签名相关的知识,希望对你有一定的参考价值。
最近进行三方安全测试,剩最后一个问题:
原因是我用360加固宝之后,又用了360Signer对apk进行二次签名,而360Signer是用v1方式对apk进行签名的,所以安全检测还是不通过。
下面给出自己百度出来的对360加固之后的apk进行v2二次签名的方法。(注意要用同一个keystore)
(1)先找到电脑中25或者25以上版本的SDK的build-tools版本号的目录,并把需要签名的安装包放在该目录下。
(2)使用zipalign将安装包对齐:打开cmd,将目录切换到sdk的build-tools版本号的目录下,使用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的密码,输入后回车即可完成签名。
(4)检查是否签名成功:依旧在当前目录下打开cmd,然后输入如下命令:java -jar apksigner.jar verify -v my.apk。如果v1 scheme和v2 scheme的值都为true,即表示签名成功。
以上是关于使用apksigner对apk进行v2签名的主要内容,如果未能解决你的问题,请参考以下文章
Android 教程系列第 28 篇Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1v2 签名)的详细教程