Gradle有着强大的依赖管理功能,但是在为用户屏蔽许多繁琐事物的同时也不可避免地屏蔽了许多实现细节,有些情况下我们需要详细了解Gradle中配置的那么多依赖到底是如何工作的。 但是大部分情况下,我们查看Gradle的依赖关系并不只是好奇它的工作方式,而是需要解决具体的问题,比如检查版本冲突,检查依赖变化等等,但是Gradle自带的工具并没有提供更多的分析功能。
所以一个开源的在线Gradle依赖分析工具“Fancy Gradle Deps”横空出世了,它主要提供了几个功能:
- 列出所有的Gradle依赖(显示和隐式有高亮区分)
- 查看隐式依赖项的引用者(是谁、有多少个依赖引用了它)
- 列出显示依赖被Gradle默认策略升级版本的依赖(Gradle的默认版本冲突解决策略就是使用最新版本)
- 列出有多种版本的隐式依赖(和显示依赖被Gradle升级一样,隐式依赖被升级也可能导致不可预测的问题)
- 比较两个依赖关系,包括新增、删除、升级、降级的依赖项和对应的新旧版本号
分析Gradle依赖需要先使用Gradle的dependencies
任务生成依赖关系文件,例如:
./gradlew :app:dependencies > app_deps.txt
马上开始!