gradle实践,依赖管理

开发种经常会遇到依赖冲突的问题。
解决办法1:exclude
正常依赖一个第三方库如下:
在这里插入图片描述
遇到冲突可以先用dependencies task依赖分析 gradlew :app:dependencies

在这里插入图片描述
加入androidx.sqlite这个库依赖冲突了,这样做
在这里插入图片描述
sync一下,然后再运行 gradlew :app:dependencies
在这里插入图片描述
这时之前依赖冲突的库就不见了。

解决办法2:implementation
这种情况只能处理依赖的组件的library和主app之间的依赖冲突
例如:在子library和主app都依赖了recyclerview,可以使用implementation来阻止子library的依赖项向上传递,大白话就是子libraryA的依赖只能libraryA自己用,别的library(比如主app)就算依赖了libraryA,也不能使用libraryA的依赖项,是不是很像Java里面对象的private变量。
sublib:
在这里插入图片描述
sync后查看一下sublib的依赖日志:gradlew :Sublib:dependencies
在这里插入图片描述
主app依赖sublib,然后查看主app的依赖日志,并没有发现recyclerview的依赖。说明sublib的recyclerview依赖项没有传递至主app。测试一下,在主app里用一下recyclerview:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值