apksigner工具的使用

apksigner 作为新一代的apk签名工具,它比jarsigner更加的安全,高效。现在都必须要用apksigner了,jarsigner也不介绍了。哈哈哈。

标题基础知识:

签名方式有两种,1、使用签名文件,2、使用私钥和证书

命令:
指定签名文件
–ks

密钥别名
–ks-key-alias

密钥密码(使用的是ks签名方式需要,赋值格式pass:123456)
–ks-pass

签名者私钥的密码。如果私钥受密码保护,则需要该密码。(–key --cert 签名方式使用该种方式签名才需要,pass:123456)
–key-pass

指定签名后的apk输出路径
–out

是否开启v1签名,值为<true | false>,该工具会使用 --min-sdk-version 和 --max-sdk-version 的值来决定何时采用此签名方案。
–v1-signing-enabled

是否开启v2签名,值为<true | false>该工具会使用 --min-sdk-version 和 --max-sdk-version 的值来决定何时采用此签名方案。
–v2-signing-enabled

是否开启v3签名,值为<true | false>该工具会使用 --min-sdk-version 和 --max-sdk-version 的值来决定何时采用此签名方案。
–v3-signing-enabled

是否开启v4签名,值为<true | false>该工具会使用 --min-sdk-version 和 --max-sdk-version 的值来决定何时采用此签名方案。
–v4-signing-enabled

两者都是查看日志信息
-v,–verbose

使用 --key 和 --cert 选项分别指定私钥文件和证书文件。私钥文件必须使用 PKCS #8 格式,证书文件必须使用 X.509 格式
–key --cert

指定多个签名文件(基本不用,不举例了)
–next-signer

验证签名apk
verify

打印签名信息
–print-certs

实例:
apksigner sign --ks keystore.jks |–key key.pk8 --cert cert.x509.pem [signer_options] app-name.apk

基础签名(需要手动输入密码,默认签名后的apk会替换原apk)
apksigner sign --ks ./signtest3.keystore ./outputfilename.apk

完善的签名命令(开启日志,开启v1,v2签名,指定输出路径文件,不需要手动输入密码,–ks-key-alias signtest2命令可有可无)
apksigner sign --verbose --v1-signing-enabled true --v2-signing-enabled true --ks ./signtest3.keystore --ks-pass pass:a123456 --ks-key-alias signtest2 --out ./test/a.apk ./outputfilename.apk

使用私钥和证书方式进行签名(其他配置可参考上面的命令,因为基本不用,所以不写了)
apksigner sign --key release.pk8 --cert release.x509.pem app.apk

验证签名并查看启用了哪种签名方式:
apksigner verify -v a.apk

打印签名信息(签名的sha1,sha256,md5是以certificate开头的部分,public key开头部分是公钥的值)
apksigner verify -v --print-certs a.apk

问题:
Unexpected parameter(s) after input APK (–out)
要把 --out ./test/a.apk 命令放在未签名apk的前面

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值