最近发现新版本的Android studio打包apk时没有V1证书和V2证书选项了
环境
需要Android SDK
Mac系统在/Users/logan/Library/Android/sdk下,我们需要的工具在build-tools目录中,
需要V3版本签名的话需要30.0.0 或更高版本

我们主要用得到的是zipalign和aplsigner
签名之前我们可以对apk进行校验,看是否存在签名:
1 | ./apksigner verify -v srcApk |

可以看到返回了DOES NOT VERIFY,说明此时是没有签名的
签名
- 压缩对齐 - 对齐未签名的 APK
1 | zipalign -v -p 4 srcApk desApk |
1 | zipalign -v -p 4 源apk 输出apk |

输出successful即说明对齐完成
签名
1
apksigner sign --ks xxx.jks --ks-key-alias release --out out.apk in.apk
xxx.jks为签名文件,也可以是xxx.keystore,--ks-key-alias后面跟上当前渠道,签名文件存在多个渠道时,需要指定,单个渠道时不需要指定。
通过
--out指定输出apk 最后跟上需要签名的apk即可
回车后输入密码即可
最后我们再校验下签名

可以看到V1,V2,V3都有了