背景
等保检测,安卓apk使用第三方加固后签名信息会丢失,需要我们重新进行签名
使用jarsigner签名遇到的问题
APP失效无法安装
如何解决签名失效
我们在这里使用Android SDK的apksigner进行签名
mac系统,apksigner 需要设置环境变量
1、找到你的 bash_profile 一般在/Users/xxx/.bash_profile
2、找到你的Android SDK/build-tools,在bash_profile中添加
3、open .bash_profile
4、添加
#apksigner
export AAPT_HOME=/Users/你的用户名/Library/Android/sdk/build-tools/30.0.2
export PATH=$PATH:$AAPT_HOME
5、source .bash_profile
查看配置是否生效
输入命令行 apksigner
看到就是配置生效
运行签名命令
命令及说明
apksigner sign --ks <签名文件路径> --ks-key-alias <签名文件别名> --ks-pass pass:<签名文件密码> --in <待签名apk路径> --out <签名后输出的apk路径>
文件目录参考
根据文件目录得出命令行
apksigner sign --ks ./test.jks --ks-key-alias key0 --ks-pass pass:***(秘钥) --in ./86cc7ddfcb09303d13ff17fec689e1db.20240116173519.apk --out ./sign-new-apk/annengapp.apk
检查apk签名版本
命令行 apksigner verify --verbose --print-certs <你的apk路径>
可以看出进行了v1、v2、v3签名
检查证书签名版本
keytool -list -v -keystore <your_keystore.jks>
使用的版本:3
经过上述重新签名 加固后的apk 可以正常安装使用
上述使用的加固使用的是腾讯的加固失效方案
地址 https://wetest.qq.com/
下面使用的是360加固
地址 https://jiagu.360.cn/#/global/index
使用apksigner,对360加固签名依然会失效报错,这个时候使用360加固助手去解决