背景:Apk 加固,防止动态调试啥的,用的是 腾讯家的加固方案:应用加固,这个加固完之后 因为破壳了,所以需要重写签名;今天发现一个这样的问题:
最早加固完毕安装不了提示:
Failure IINSTALL FAILED INVALID APK: Failed to extract native libraries, res=-2
需要配置:配置完成可以正常安装:
zipAlignEnabled true
今天发现一个新的问题:(部分机器)
adb: failed to install game_1.0.21_230112.apk: Failure [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary];
然后大概是说 Android 30以上版本必须强制 4K对齐:论坛看了下 大致两种方案:
修改targetSdkVersion 30以下版本
zipalign.exe 手动对齐以下: 本着约新越好的 思路我们还是 手动对齐一下
//用于查看你的 apk是否已经对齐了
zipalign -c -v 4 shell.apk
好像是翻车了 没有通过:
//手动4k 对齐
zipalign -f -v 4 shell.apk unsign.apk
现在是已经对齐了:
重新签名安装,看看是否还报错:
java -jar apksigner.jar sign --ks keystore_hzsyu.keystore --ks-key-alias game --ks-pass pass:hzsyu202209* --key-pass pass:hzsyu*game --out signed/game_signed.apk unsigned/unsign.apk
验证以下签名
jarsigner -verify signed/game_signed.apk
重新安装:
成功了!而且还感觉安装速度也大大加快了!
保险起见我测试了其他几台机器也是可以的!
我这边是有目录分级的你们按自己的来
用到的几个工具看看 你们哟啊不要
下载地址:工具下载链接