如何查看Gradle仅模块间依赖树 不展示全部第三方依赖项
解决方案
方案1:使用现有Gradle命令加过滤
直接对依赖查询命令的输出做关键词过滤,仅保留内部项目依赖的行即可:
- 查看全模块内部依赖(Mac/Linux):
./gradlew dependencies | grep "project :" - 查看全模块内部依赖(Windows):
gradlew.bat dependencies | findstr "project :" - 仅查看单个模块(例如
app模块)的内部依赖,调整命令对应模块路径即可:./gradlew :app:dependencies | grep "project :"
小提示:如果需要区分debug/release等不同构建变种的内部依赖,可将命令中的
dependencies替换为androidDependencies再执行过滤。
方案2:自定义Gradle任务实现结构化输出
如果需要更清晰的分类展示(区分依赖配置类型、所属模块),可以在根目录的build.gradle中添加如下自定义任务:
task listProjectDependencies { doLast { subprojects { project -> println ">>> 模块 ${project.name}(路径:${project.path})的内部依赖:" project.configurations.configureEach { config -> // 可根据实际需求增删要匹配的依赖配置规则 if (config.name.matches(/(implementation|api|compileOnly|runtimeOnly).*/)) { config.dependencies.each { dep -> if (dep instanceof ProjectDependency) { println " ${config.name} → ${dep.dependencyProject.path}" } } } } println "==================================================" } } }
添加完成后执行以下命令,即可直接得到整理好的所有模块内部依赖清单:
./gradlew listProjectDependencies
方案3:Android Studio可视化查看
不想敲命令也可以直接在IDE中直观查看:
- 打开
File > Project Structure(快捷键:Windows/Linux为Ctrl+Alt+Shift+S,Mac为Cmd+;) - 左侧边栏选择
Dependencies选项 - 顶部下拉选择要查看的模块,依赖列表会自动区分内部项目依赖和第三方依赖
内容的提问来源于stack exchange,提问作者the_prole
相关产品推荐
相关产品推荐

