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:
在这里插入图片描述


版权声明:本文为aa234345原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。