You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

APK安装报错:Targeting R+要求resources.arsc未压缩且4字节对齐

解决APK安装报错Failure [-124]的问题

问题背景

安装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]

当前构建流程:

  • 使用Apktool构建APK:apktool build app --use-aapt2 --output app.apk
  • 对齐APK:zipalign -p -v 4 app.apk apk-aligned.apk
  • 签名APK:apksigner sign --ks-key-alias keys --ks keys --ks-pass xxxxx apk-aligned.apk

Zipalign验证输出显示resources.arsc对齐状态正常:

Verifying alignment of apk-aligned.apk (4)...
      44 resources.arsc (OK)

已在apktool.yml中设置resourcesAreCompressed: false,但错误依然存在。

排查方向与修复方案

1. 强制Apktool禁用资源压缩

apktool.yml的配置在aapt2构建模式下可能未生效,直接在构建命令中添加--no-resource-compression参数,确保resources.arsc生成时处于未压缩状态:

apktool build app --use-aapt2 --no-resource-compression --output app.apk

2. 重新执行Zipalign并强制覆盖

即使Zipalign输出显示正常,也可能存在缓存文件干扰,添加-f参数强制覆盖输出文件:

zipalign -f -p -v 4 app.apk apk-aligned.apk

3. 验证resources.arsc的实际压缩状态

用unzip命令检查APK内文件的压缩方式:

unzip -lv apk-aligned.apk

查看resources.arsc对应的Method列,若显示Stored则为未压缩(符合要求),若为Deflated则说明该文件被压缩,需回到构建阶段排查配置问题。

4. 升级Apktool版本

旧版本Apktool对aapt2的兼容性可能存在bug,导致resourcesAreCompressed配置不生效。升级至最新版Apktool后重新构建。

总结

优先尝试在构建命令中添加--no-resource-compression参数,同时升级Apktool到最新版,重新执行构建→对齐→签名流程。若问题依旧,通过unzip命令确认resources.arsc的实际状态,定位问题环节。

内容的提问来源于stack exchange,提问作者janic0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 07:01:05