Android 查看jar包之间依赖的方法,解决包冲突问题,妈妈再也不用担心了

有时候,我们的工程大了,或者引用的外面的工具包,开源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冲突了,最后解决方法:

解决包冲突,关键还是可以看到包之间依赖关系,比较完美解决问题。

猜你喜欢

转载自my.oschina.net/u/3318187/blog/1806735