jarsigner和apksigner对apk/aab签名

1、查看签名文件的信息

工具目录:C:\Program Files\Java\jre1.8.0_331\bin

keytool -list -v -keystore E:\test.jks

输入该命令,然后输入密码,即可查看签名信息
jarsigner和apksigner对apk/aab签名_第1张图片

2、签名工具

签名工具 说明 位置
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与代签名的包置于同一个文件夹
jarsigner和apksigner对apk/aab签名_第2张图片

1)jarsigner 签名

jarsigner -verbose -keystore keystore文件 -signedjar 签名以后的apk名称 要签名的apk  keystore中的别名

签名aab

jarsigner -verbose -keystore signing_key.keystore -signedjar signedjar.aab unsigned.aab wftsign

jarsigner和apksigner对apk/aab签名_第3张图片

签名apk

jarsigner -verbose -keystore signing_key.keystore -signedjar signedjar.apk unsigned.apk wftsign

jarsigner和apksigner对apk/aab签名_第4张图片

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-关闭)

3、验证签名

1)jarsigner 验证

jarsigner -verify -verbose -certs apk或aab位置

jarsigner -verify -verbose -certs test\unsigned.aab

验证未签名aab
在这里插入图片描述
验证已签名aab
jarsigner和apksigner对apk/aab签名_第5张图片
jarsigner和apksigner对apk/aab签名_第6张图片

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

在这里插入图片描述

4、重签名

在这里插入图片描述

如果是签名的aab转apk含v1v2v3签名,但平台只支持v1v2签名的apk,则可用重签名的方式,将aab转的含v1v2v3签名的apk更换为含v1v2签名的apk

你可能感兴趣的:(Android,Learning,android,android,studio)