...\build\intermediates\res\resources-official-release-stripped.ap_' specified for property 'resourc

编译apk的时候遇到下面的问题:

Error:A problem was found with the configuration of task’:uhome_app:packageOfficialRelease’.
File ‘D:\segi_workspace\branches\uhome\uhome_huarun\joylife_v1.2.0\uhome_app\build\intermediates\res\resources-official-release-stripped.ap_’specified for property ‘resourceFile’ does not exist.

提示中的’resourceFile’ does not exist. 是重点。表示resourceFile不存在。

经过网上找资料发现问题 在 下图中红色框中的两个配置:

这里写图片描述

 //是否进行代码压缩 
  minifyEnabled false
  // 移除无用的resource文件
  shrinkResources true

如上设置 minifyEnabled 为 falseshrinkResources 为 true 的时候会出现上面 ‘resourceFile’ does not exist.的错误。官方的文档给出了解释 :https://developer.android.com/studio/build/shrink-code?hl=zh-cn

解决的办法就是同时设为true

压缩资源
资源压缩只与代码压缩协同工作。代码压缩器移除所有未使用的代码后,资源压缩器便可确定应用仍然使用的资源。这在您添加包含资源的代码库时体现得尤为明显 - 您必须移除未使用的库代码,使库资源变为未引用资源,才能通过资源压缩器将它们移除。

要启用资源压缩,请在 build.gradle 文件中将 shrinkResources 属性设置为 true(在用于代码压缩的 minifyEnabled 旁边)。例如:

android {
    ...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
        }
    }
}

如果您尚未使用代码压缩用途的 minifyEnabled 构建应用,请先尝试使用它,然后再启用 shrinkResources,因为您可能需要编辑 proguard-rules.pro 文件以保留动态创建或调用的类或方法,然后再开始移除资源。

注:资源压缩器目前不会移除 values/ 文件夹中定义的资源(例如字符串、尺寸、样式和颜色)。这是因为 Android 资源打包工具
(AAPT) 不允许 Gradle 插件为资源指定预定义版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值