前言:

打包apk后上架之前需要进行加固,加固后生成的apk文件需要进行重新签名;

单独的apk文件可以使用基于JDK(需要安装java jdk)和SDK(需要下载android studio 开发工具)的命令进行手动签名。

安装JDK(签名v1)、安卓SDK(签名v2)

jdk版本: java version "1.8.0_191" (该版本可以查看生成的md5签名)

已安装,不在过多介绍。自行查询安装。

JDK重新签名 v1

jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore [你的keystore文件以及文件路径] -signedjar [重新签名后要生成apk名字] [加固后下载的apk文件,以及文件路径] [你的keystore文件别名]

示例:(执行完命令后就可以生成V1签名的apk文件了)

jarsigner -verbose -keystore /Users/snowbeatrain/Documents/xxxx/xxxx/demo.keystore -signedjar demo_xxx.apk /Users/snowbeatrain/Downloads/77cc5305383b9fc395cba8ca45cbb5ed.20221219101125.apk demo.keystore

SDK重新签名 v2

java -jar apksigner.jar sign --ks [jks路径/ keysotre证书文件名和路径] --ks-key-alias [签名文件别名] --ks-pass pass:[证书密码] --key-pass pass:[别名密码] --out [V2签名完后apk文件输出路径] [需要V2签名的apk路径]

示例:(执行完命令后就可以生成V2签名的apk文件了)

java -jar apksigner.jar sign --ks /Users/snowbeatrain/Documents/xxxx/xxxx/demo.keystore --ks-key-alias demo.keystore --ks-pass pass:123456 --key-pass pass:123456 --out demo_v2.apk /Users/snowbeatrain/Downloads/77cc5305383b9fc395cba8ca45cbb5ed.20221219101125.apk

验证最终生成的apk文件的签名模式:

java -jar apksigner.jar verify -v [签名文件的路径]

签名验证注意事项:

需要找到当前sdk下apksigner.jar 的路径

进入SDK的build-tools目录,然后随意选择一个大于27的版本(这里最好选择高点的版本),然后进入lib目录 然后在进行签名验证

参考文档:

https://blog.csdn.net/yzwfeng/article/details/125172673

https://blog.csdn.net/u013114610/article/details/115121200

https://blog.csdn.net/qq_33183456/article/details/106103859

https://blog.csdn.net/abs625/article/details/120342644

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐