使用gradle来查找依赖关系树
是否有可能使用gradle生成一棵依赖于什么的树?
我有一个项目,并希望找出所有的依赖关系,所以我可能能够修剪一点前瞻性声明等。
对于Android,请使用此行
gradle app:dependencies 或者如果你有一个gradle包装器:
 ./gradlew app:dependencies 
  app是你的项目模块。 
 此外,如果你想检查是否有东西是compile与androidTestCompile compile vs androidTestCompile依赖以及什么是拉它: 
 ./gradlew :app:dependencyInsight --configuration compile --dependency <name> ./gradlew :app:dependencyInsight --configuration testCompile --dependency <name> ./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name> 
 您可以使用gradle dependencies来渲染依赖关系树。 有关更多信息,请参阅在线用户指南中的第11.6.4节列出项目依赖关系 。 
 如果您发现很难导航到gradle dependencies控制台输出, gradle dependencies可以添加Project reports插件 : 
 apply plugin: 'project-report' 
并使用以下命令生成HTML报告:
 $ ./gradlew htmlDependencyReport 
 报告通常可以在build/reports/project/dependencies/index.html 
 它看起来像这样:  
 
在Android Studio中(至less从v2.3.3开始),您可以直接从UI运行命令:
点击Gradle标签,然后双击:yourmodule – > Tasks – > android – > androidDependencies
该树将显示在“ Gradle控制台”选项卡中
  
 
 通常完整的test , compile和androidTestCompile依赖图太多难以一起检查。 如果你只想要compile依赖关系图,你可以使用: 
 ./gradlew app:dependencies --configuration compile 
来源: Gradle文档第4.7.6节
 注意:在最近的Gradle版本中已经不推荐使用compile ,在更新的版本中,build议将所有的compile依赖关系转换为implementation 。 请在这里看到这个答案 
在Android Studio中
1)打开terminal,确保你在项目的根文件夹。
  2)运行./gradlew app:dependencies (如果不使用gradle包装,请尝试gradle app:dependencies ) 
 请注意,运行./gradle dependencies只会给你项目根文件夹的依赖关系树,所以以上述方式提到应用程序,即./gradlew app:dependencies是非常重要的。 
我也发现有用的运行这个:
 ./gradlew dI --dependency <your library> 
 这显示了如何解决dependencyInsight关系( dependencyInsight ),并帮助您debugging到哪里需要强制或排除您的build.gradle库 
请参阅: https : //docs.gradle.org/current/userguide/tutorial_gradle_command_line.html