外观
Gradle 和 Maven 是什么关系?依赖冲突怎样查?
标准回答
Gradle 是构建自动化工具;Maven 既是一套构建工具体系,也有广泛使用的依赖坐标与仓库约定,Gradle 可以从 Maven 仓库解析依赖。排查冲突先运行 ./gradlew :app:dependencies --configuration releaseRuntimeClasspath,再用 dependencyInsight --dependency 依赖名 --configuration releaseRuntimeClasspath 查选中版本和引入路径。
通俗例子
你直接依赖某个网络库,同时车辆 SDK 又间接带来另一个版本。先查看依赖树与 dependencyInsight,确认最终选中了哪个版本、由谁引入,再用经过验证的版本约束处理冲突。
深入解释
**坐标与仓库各是什么:**groupId、artifactId、version 组成包的标识;仓库是查找这些包及元数据的地方。Gradle 根据声明和仓库配置解析依赖。
**冲突为什么会间接出现:**你声明库 A,A 又声明库 B,这就是传递依赖。多个上层库可能要求不同 B 版本,所以要查看最终解析结果和引入路径,而不是只盯自己写的那一行。
易混淆点
Maven 仓库不是某一个固定网站;公司私服和公共仓库都可能提供 Maven 格式依赖。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
job-A07