安卓V1、V1+V2签名

最近做跟华为对接定制rom的事情,涉及到了签名问题,以前都是开发工具直接打出签名包,基本没怎么用命令行的形式进行签名,所以这次记录下,方便后期再遇到。

注意:对apk签名时,当前命令行所在的目录就是apk所在的目录(cd apk目录)

一、V1签名

直接在命令行输入

jarsigner -verbose -keystore 111 -signedjar 222 333 444

111:你的签名文件
222:签名成功后输出的apk的名字
333:需要签名的apk的名字
444:你的签名中的 Key alias

111 222 333 处其实是文件的路径+文件名字,但是我一般不写路径,直接写名字,所以成生成的apk直接会在当前文件夹下了,而且还要保证签名文件和待签名的apk所在同一个目录下。

Key alias是啥?
在这里插入图片描述
举例:

jarsigner -verbose -keystore uclass_starter.jks -signedjar uclass_starter.apk uclass_starter_update.apk my_class

  • uclass_starter.jks(签名文件)
  • uclass_starter.apk (希望签名成功之后的apk名字就叫uclass_starter)
  • uclass_starter_update.apk(待签名的apk的名字是uclass_starter_update)
  • my_class(uclass_starter.jks签名文件里的Key alias是my_class)

二、V1+V2签名

v1+v2签名跟单独的v1签名还是有区别的,v1+v2签名需要用到apksigner,而v1签名用的是jarsigner。在命令窗口输入jarsigner,是可以看到运行结果的,但是直接输入apksigner是不行的。

  1. 首先需要我们找到sdk目录中build-tools下,此时我们会看到很多版本
    在这里插入图片描述
    每个版本里都有个lib文件夹,从版本号24.0.3开始lib文件夹下都有一个apksigner.jar文件,因此我们需要命令窗口在当前lib路径下,执行命令
java -jar apksigner.jar sign --ks 111 --ks-key-alias 222 --out 333 444

111:签名文件路径
222:Key alias
333:签名后apk的路径
444:待签名的apk路径

如果想要验证是否签名成功可以执行

java -jar apksigner.jar verify -v --print-certs (apk地址)

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值