Android TargetSdkVersion 30 安装失败 resources.arsc 需要对齐且不压缩。

文章讲述了公司在升级项目targetSDKVersion到30时遇到在Android12上安装失败的问题。解决方案是通过在AndroidStudio的build.gradle中添加aaptOptions配置,禁止对`.arsc`文件进行压缩,仅保留对齐操作,以满足新版本的官方要求。
摘要由CSDN通过智能技术生成

公司项目,之前targetSDKVersion一直是29,近期小米平台上架强制要求升到30,但是这个版本在android12上安装失败,我用adb命令安装,报错如下图

adb: failed to install c: Program Files (x86)(0A_knight\MorkSpace \HomeStead_Codinglappapp_def\release\app-ap_def-release.apk: Failure [-124: Failed parse during installpackageLT: Targeting R+ (version 30 and above)requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

百度直接搜错误,全部都是用apksigner和zipalign重新压缩签名的,实际上android studio默认都会进行对齐并压缩。从android12开始,官方要求不允许压缩了,只需要对齐就好,这明显就是配置一个构建参数的事。

所以答案就是:

aaptOptions {
        noCompress '.arsc'
    }

这个选项就是告诉android studio,针对“.arsc”后缀的文件不要进行压缩。而对齐本身就是默认做的,不需要配置。

这个标签放到android块内,与defaultConfig平级。

android {
    defaultConfig {
        ...
    }

    aaptOptions {
        noCompress '.arsc'
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值