查看判断APK文件的签名信息
根据APK安装包,可以查看所使用的签名信息。
判断使用了哪些签名
能够使用指令
apksigner.bat verify -v xxx.apk
如图:
由上图可以看出,该apk仅使用了V2签名方案签名。
(PS. apksigner.bat通常所在路径为Sdk\build-tools\xx.x.x\)
apksigner.bat脚本,可替换为
java -jar apksigner.jar
其中apksigner.jar所在路径为Sdk\build-tools\xx.x.x\lib
一个简单的通过META-INF/.SF文件区分apk是V1还是V2签名的方法如下:
如果.SF文件抬头包含X-Android-APK-Signed: 2,则表明该apk是V1和V2混合签名;
如果.SF文件抬头不包含X-Android-APK-Signed: 2,则表明该apk是纯V1签名;
如果连.SF文件都没有,则表明该apk是纯V2签名;
查看V1签名方式的签名信息
V1签名是一种JAR方式签名,特点之一便是apk包中包含,META-INF\XXX.RSA,或者.SF文件
针对使用V1签名方式的apk,可以使用以下指令获取签名信息
keytool -printcert -jarfile xxx.apk
查看V2签名方式的签名信息
针对仅使用V2签名方式的apk,可以使用以下指令获取签名信息
apksigner.bat verify --print-certs xxx.apk
如图:
