安卓导入旧项目org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDebugResour

码字辛苦!转载请注明出处!

最近接到一个外快,需求很简单,于是就爽快答应了。

拿到手上才发现,这是个大龄程序猿用eclipse写的旧项目,导入AS编译后,爆出了这样的错误:

这里强调一下:

网上流传的禁用AAPT2的方法是解决不了这个问题的!

android.enableAapt2=false

↑这是错误的解决方法

 

=====================罪魁祸首=====================

导致这个问题的原因,是因为

1、AS对于.9图的裁切要求更加精确

而eclipse使用的.9图只要有粗略的位置就可以了。

2、Gradle3.0+为了安全性,将compile替换成了implementation

 

=====================解决问题=====================

 

使用全局文件搜索(双击SHIFT)【.9】:

打开所有.9图,重新抠一下边界

接下来打开app的build.gradle,将dependencies中所有的compile替换成implementation:

一定要选择dependencies里的内容,否则,全局替换会把你的compileSdkVersion给弄成implementationSdkVersion,导致编译出错。

最后重新【Make project】一下:OK,编译通过~

 

 

*这里说一下implementation和compile的区别:

implementation引用的依赖库仅对当前moudule有效,如果其他moudule需要这些依赖库,也需要implementation;

compile引用的依赖库对项目中所有的moudule生效,因此可能造成安全问题。

最后,如果觉得有帮助的话,就给博主发个红包吧~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值