是否有可能使用Gradle生成一个什么依赖什么的树?

我有一个项目,想要找出所有的依赖,所以我可以用前向声明等修剪它一点。


当前回答

我还发现运行这个很有用:

./gradlew dI --dependency <your library>

这显示了如何解析依赖关系(dependencyInsight),并帮助你调试到需要在build.gradle中强制或排除库的位置

参见:https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html

其他回答

我还发现运行这个很有用:

./gradlew dI --dependency <your library>

这显示了如何解析依赖关系(dependencyInsight),并帮助你调试到需要在build.gradle中强制或排除库的位置

参见:https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html

你可以使用gradle dependencies命令来呈现依赖树。有关更多信息,请查看在线用户指南中列出项目中的依赖项一节。

没有模块:

gradle dependencies

为Android:

 gradle app:dependencies

使用gradle包装:

./gradlew app:dependencies

注意:将app替换为项目模块名。

此外,如果你想检查某个东西是否依赖于compile vs. testCompile vs. androidTestCompile,以及是什么把它拉进来的:

./gradlew :app:dependencyInsight --configuration compile --dependency <name>
./gradlew :app:dependencyInsight --configuration testCompile --dependency <name>
./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name>

如果你想在图形中可视化你的依赖关系,你可以使用gradle-dependency-graph-generator插件。

通常,这个插件的输出可以在build/reports/dependency-graph目录中找到,如果你使用的是0.5.0版本的插件,它包含三个文件(.dot|.png|.svg)。

真实应用(象棋时钟)中的依赖关系图示例:

在Android Studio中(至少从v2.3.3开始),你可以直接从UI运行命令:

点击Gradle选项卡,然后双击:yourmodule -> Tasks -> android -> androidDependencies

该树将显示在Gradle Console选项卡中