当使用Gralde编译出现某jar包或库重复依赖的各种解决方案

本文介绍了在使用Gradle编译项目时遇到的重复jar包依赖问题,详细讲述了两种解决方法:一是使用exclude标签排除特定库中的重复依赖;二是设置依赖的scope,如将依赖设置为provided或runtime等,以避免打包时的冲突。同时,提供了maven中依赖scope的含义作为参考。
摘要由CSDN通过智能技术生成

目前已转至个人博客,本文地址:Lam's Blog - Knowledge as Action

这是半年前做项目时遇到的问题,因为项目有好几个依赖库,其中有个库的httpmime这个jar包在多个地方重复出现了,最终编译打包的时候报错对同一个jar包重复打包了,试了各种方法都无效,花了两三天才找到一个方法,用三行代码搞定,因为时间过了比较久所以可能记得也不是很清楚,只能凭印象记录下来,有错误的麻烦看到的朋友提出指正。

1.

compile fileTree(dir: 'libs', include: '*.jar', exclude:'android-support-v4.jar') 

这种方法适用于在主项目中排除libs目录下的v4等重复包,由于依赖库中已有这些包所以即使排除了也不会出现异常,exclude标签也可以用于排除具体依赖库中的每个依赖,但是于我当时的情况下不适用,具体原因忘了

2.设置依赖的scope,这点gradle类似于maven,这里贴上maven的scope含义说明,更具体的有兴趣的可以查资料和验证,具体的设置方式即在build

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值