解决:debug或者release-stripped.ap_' specified for property 'resourceFile' does not exist.

今天在做项目的时候遇到了上面的问题,做一下记录
1、问题如下

Error:A problem was found with the configuration of task ':app:packageRelease'.

> File '/Users/user/AndroidStudioProject/workspace/demomaster/app/build/intermediates/res/resources-release-stripped.ap_' specified for property 'resourceFile' does not exist.

百度上面的问题后基本解决问题是,在主module的gradle中,buildTypes的release下把shrinkResources 改成false:

 

buildTypes {
    release {
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        // 不显示Log
        buildConfigField "boolean", "LOG_DEBUG", "false"
        minifyEnabled false
        zipAlignEnabled true
        // 移除无用的resource文件
        shrinkResources false// 此处修改成false
        signingConfig signingConfigs.config
    }
}

但是修改以后还是继续报错,正确的解决方法是:

在主module的gradle中,buildTypes的release下把shrinkResources 设置为true的同时  把minifyEnabled 也设置为true:

buildTypes {
    release {
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        // 不显示Log
        buildConfigField "boolean", "LOG_DEBUG", "false"
        minifyEnabled true
        zipAlignEnabled true
        // 移除无用的resource文件
        shrinkResources true// 此处和minifyEnabled 要同时设置为true
        signingConfig signingConfigs.config
    }
}

当上面的问题修改问以后又碰到了下面的问题

Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.

> Job failed, see logs for details

 

这个问题是因为我们开启了混淆模式,那么可以将 
-ignorewarnings -keep class * { public private *; } 
添加到 Proguard 文件中,然后重新编译打包,这样就能解决打包报错的问题了!
混淆模式下还可以在Proguard中,以及是否保持哪些类库的代码等等!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值