针对于加固平台在加固的过程中不能配置签名文件,加固后的apk需要进行重新签名才能安装,并发布到应用市场。
第一步,用AS对项目进行打包,生成签名的apk文件。
第二步,使用加固平台,对apk包进行加固,加固完成后,得到一个加固后的apk。
第三步,我们可以使用Android SDK自带的apksigner.jar 对APK进行签名操作,apksigner.jar 存放在\Android\Sdk\build-tools\30.0.1\lib目录下。
对加固apk进行重新签名的方法:
-
cmd编辑,打开指定的目录
cd C:\Users\PC\AppData\Local\Android\Sdk\build-tools\33.0.1\lib
查看apk签名情况
这是安装失败的apk文件路径 C:\Users\PC\Desktop\pub\abc.apk
java -jar apksigner.jar verify -v C:\Users\18745\Desktop\DNP_3.3.96.2(6.1.8)_psigned.apk
通过执行命令返回的结果可以看到V1与V2的签名情况
这是未签名的APK返回的的结果:
DOES NOT VERIFY ERROR: Missing META-INF/MANIFEST.MF
这是v1签名的APK返回的的结果:
Verifies Verified
using v1 scheme (JAR signing): true Verified
using v2 scheme (APK Signature Scheme v2): false
这是v1v2都签名的APK返回的的结果:
Verifies Verified
using v1 scheme (JAR signing): true Verified
using v2 scheme (APK Signature Scheme v2): true
-
使用android sdk中的apksigner.jar对加固后的apk进行重新签名
示例
java -jar apksigner.jar sign --ks [签名路径] --ks-key-alias [alias名称] --ks-pass pass:[密码] --key-pass pass:[密码] --out [签名后的新包路径] [待签名的包路径]
我的具体使用
java -jar apksigner.jar sign --ks C:\work\android-app\dgj.jks --ks-key-alias dgj --ks-pass pass:dgj123456! --key-pass pass:dgj123456! --out C:\Users\PC\Desktop\pub\20230309_dgj.apk C:\Users\PC\Desktop\pub\111.apk
-
生成签名apk后,再次验证生成的签名apk是否有V1、V2签名
java -jar apksigner.jar verify -v C:\Users\PC\Desktop\pub\20230309_dgj.apk文章来源:https://www.toymoban.com/news/detail-457417.html
4.签名后的apk就可以安装到android 手机上了文章来源地址https://www.toymoban.com/news/detail-457417.html
到了这里,关于android apk 加固后重新签名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!