有时候,我们的工程大了,或者引用的外面的工具包,开源jar包或者推送等jar包,开开心心的想集成一下,可是一下子来了,奔溃了,jar包之间冲突,常见的support-v4包不同版本之间的冲突。
gradle提供了可以查看library之间依赖的关系,下面我们首先先搭环境。
一、配置环境
Android Studio中使用的 gradle 版本一般不是最新版,所以在使用其自带的 Terminal 时容易报版本过低的错误,为了方便使用,我从 gradle
官网下载了最新版的 gradle ,然后配置好 gradle 的环境变量以方便使用。
二、gradle task 相关内容
gradle 本身不提供查看 library 依赖关系的命令,幸好 Android Studio 提供了可供查看的 task ,位于各个 module 的 help 任务堆中,如下图:
双击 dependencies 执行该任务,可以看到在 gradle console 中均没有得到依赖关系,结果如下图所示:
从上图可以看出无论我们执行哪个 module 下的 dependencies 其结果都是相当于在 Root project 执行了该任务;那么在 app project 或者 test01library project 中执行该 dependencies 任务呢?此时就需要我们通过命令行的方式执行 dependencies 了。
配置好环境后,首先cmd 进入当前你的工程的核心module路径,测试了下:gradle dependencies 在gradle 4.1下没有打印出依赖关系,使用了 gradle -q dependencies 就ok了
因自己搭框架的时候使用了比较多的工具和开源的工具,这儿遇到的冲突时support-v4包的和别的jar包里含有的support-v4冲突了,最后解决方法:
解决包冲突,关键还是可以看到包之间依赖关系,比较完美解决问题。