如何可视化Android Gradle项目中的模块依赖关系?
如何可视化Android Gradle项目中的模块依赖关系?
我太懂这种搜半天全是第三方库依赖教程的憋屈了!咱们要的是项目内部模块之间的依赖结构,不是那些外部库的依赖树对吧?下面给你几个完全本地化、不用跳转外部网站的实用方法,亲测有效:
方法一:用Gradle内置任务生成报告(文本+可视化HTML)
Gradle本身就带了能帮咱们梳理模块依赖的任务,不用额外装插件:
- 快速查看文本版模块依赖:在项目根目录的终端里运行对应命令:
- macOS/Linux:
./gradlew projectDependencies - Windows:
gradlew.bat projectDependencies
这个命令会逐个列出每个模块依赖的其他模块,第三方库的依赖会被弱化显示,你可以快速过滤出内部模块的依赖关系。
- macOS/Linux:
- 生成可视化HTML依赖图:运行
./gradlew projectReport(Windows对应gradlew.bat projectReport),任务完成后,在项目的build/reports/project/dependencies/目录下找到index.html文件,用浏览器打开就能看到清晰的模块依赖关系图,连箭头和层级都标得明明白白。
方法二:Android Studio内置视图直接查看
不用敲命令,在IDE里就能搞定:
- Project Structure面板逐个模块查看:点击顶部菜单栏的
File > Project Structure,切换到Modules标签页,选中你想查看的模块后,右侧的Dependencies面板会清晰列出它依赖的所有内部模块和外部库,你可以切换不同模块来回梳理依赖链。 - 全局模块依赖图(Diagram视图):右键点击项目根目录,选择
Diagrams > Show Diagram,在弹出的窗口左上角点击+按钮,选择Add Module把所有需要的模块都加进来,IDE会自动画出模块之间的依赖连线,你还能拖动调整布局,甚至右键选择Show Dependencies来突出显示特定模块的依赖关系,这个视图对全局梳理项目结构超有用!
方法三:过滤Gradle依赖树只看模块
如果想在终端里精准看某个模块的内部依赖,运行:
- macOS/Linux:
./gradlew :app:dependencies --configuration implementation | grep -E "project\:" - Windows(PowerShell):
gradlew.bat :app:dependencies --configuration implementation | Select-String "project:"
把:app换成你要查看的模块名称就行,这个命令会只输出该模块依赖的其他内部模块,完全过滤掉第三方库的干扰。
内容来源于stack exchange




