android apk 加固后重新签名

针对于加固平台在加固的过程中不能配置签名文件,加固后的apk需要进行重新签名才能安装,并发布到应用市场。

第一步,用AS对项目进行打包,生成签名的apk文件。

第二步,使用加固平台,对apk包进行加固,加固完成后,得到一个加固后的apk。

第三步,我们可以使用Android SDK自带的apksigner.jar 对APK进行签名操作,apksigner.jar 存放在\Android\Sdk\build-tools\30.0.1\lib目录下。

对加固apk进行重新签名的方法:

  1. 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

  1. 使用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

  1. 生成签名apk后,再次验证生成的签名apk是否有V1、V2签名

java -jar apksigner.jar verify -v C:\Users\PC\Desktop\pub\20230309_dgj.apk

4.签名后的apk就可以安装到android 手机上了

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值