Android studio 如何查看 library 间的依赖关系

上一篇 support-v4、support-v7 的依赖关系及 Getting java.util.zip.ZipException: duplicate entry exception 的处理 例举了几个常用 library 的依赖关系,本文简单介绍一下查看 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 了。

1.查看 app project 的依赖关系

在该路径下打开命令行工具,输入

gradle dependencies

稍等一会,便可看到 library 的依赖关系,如下图所示:

这里写图片描述

但是命令行中会生成大量内容,并且无法看到全部信息,为了方便查看,我们将输出信息写入文本文件中

gradle dependencies >log.txt

在当前目录下将生成一个 log.txt 文件里面包括所有 app project 所依赖 library 的所有依赖关系(test01library 同理) 。

2.查看指定类型的依赖关系

由于 dependencies 的配置类型太多这里仅以编译时 library 为例说明:

// 查看 compile 时的依赖关系
gradle dependencies --configuration compile

关于其他配置类型可以通过这条命令获得:

gradle dependencies --info

可以看到有很多参数

这里写图片描述

3.在 Root project 下查看依赖关系

在项目根目录下我们可以通过下面命令达到和上面相同的效果,如:

// gradle :project name:dependencies [--configuration compile]
gradle :app:dependencies --configuration compile

三、总结

查看各 library 的依赖关系是为了避免出现java.util.zip.ZipException: duplicate entry exception android/support/vX/…/xxx.class 异常;由于 app project 必定会直接或间接引用其他所有 project, 所以,只查看这一个 project 的依赖关系即可得到全部信息。

猜你喜欢

转载自blog.csdn.net/niuzhucedenglu/article/details/69566151