工具目录:C:\Program Files\Java\jre1.8.0_331\bin
keytool -list -v -keystore E:\test.jks
输入该命令,然后输入密码,即可查看签名信息
签名工具 | 说明 | 位置 |
---|---|---|
jarsigner | JDK提供的针对jar包签名的通用工具,签名apk仅限v1 | C:\Program Files\Java\jdk-16.0.2\bin\jarsigner.exe |
apksigner | Google官方提供的针对Android apk签名及验证的专用工具,只能签名apk,支持v1v2 | C:\Users\leon\AppData\Local\Android\Sdk\build-tools\29.0.2\apksigner.bat |
注:jarsigner、apksigner既可以签名,也可以验证签名
注:apksigner只能操作apk; jarsigner可以操作apk、aab
为了方便演示,将签名工具jarsigner.exe与代签名的包置于同一个文件夹
1)jarsigner 签名
jarsigner -verbose -keystore keystore文件 -signedjar 签名以后的apk名称 要签名的apk keystore中的别名
签名aab
jarsigner -verbose -keystore signing_key.keystore -signedjar signedjar.aab unsigned.aab wftsign
签名apk
jarsigner -verbose -keystore signing_key.keystore -signedjar signedjar.apk unsigned.apk wftsign
2)apksigner 签名
apksigner sign --ks keystore位置 --v3-signing-enabled false apk位置
apksigner sign --ks sign\signing_key.keystore --v3-signing-enabled false sign\unsigned.apk
注:
–v1-signing-enabled //是否开启V1签名,默认开启(例如:true-开启,false-关闭)
–v2-signing-enabled //是否开启V2签名,默认开启 (例如:true-开启,false-关闭)
–v3-signing-enabled //是否开启V3签名,默认开启 (例如:true-开启,false-关闭)
1)jarsigner 验证
jarsigner -verify -verbose -certs apk或aab位置
jarsigner -verify -verbose -certs test\unsigned.aab
验证未签名aab
验证已签名aab
2)apksigner 验证
apksigner verify -v apk位置
apksigner verify -v test\unsigned.apk
验证未签名的apk
验证已签名apk (jarsigner方式签名)
v1
apksigner verify -v sign\signedjar.apk
验证已签名apk (apksigner方式签名)
v1v2
apksigner verify -v sign\signedapk.apk
验证已签名apk (aab jarsigner签名 转apk)
v1v2v3
apksigner verify -v sign\abb2apk_jarsigner.apk
如果是签名的aab转apk含v1v2v3签名,但平台只支持v1v2签名的apk,则可用重签名的方式,将aab转的含v1v2v3签名的apk更换为含v1v2签名的apk