关于Gradle中依赖冲突问题的解决

今天想尝试升级自己的测试项目到androidx,然后发现修改过后还是有冲突,具体问题编译出错如下显示

Error: Program type already present: android.support.v4.app.BackStackRecord$Op 看到编译生成的类里面有好多个support的

查找冲突发生的地方 在Navgite->class 记得打钩 查看到重复的位置 但是具体的哪几个依赖造成的还是不清楚 ,继续探究

通过gradle命令将APP module的依赖树导出到txt(因为依赖太多,命令行客户端显示不下)gradle dependencies > f:/config.txt

结果如下

然后就可以搜索文本查找依赖冲突并解决

参考网站

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gradle 传递依赖不生效可能有多种原因,以下是一些可能的解决方法: 1. 检查依赖声明是否正确:在模块的 build.gradle 文件,确保所有依赖项都正确声明。尤其是检查版本号是否正确,因为错误的版本号可能会导致依赖传递失败。 2. 清除 Gradle 缓存:有时 Gradle 缓存可能会导致依赖传递失败。您可以尝试清除 Gradle 缓存并重新构建项目。 3. 检查依赖项的传递性:如果您的依赖项有多个层级,那么您可能需要检查每个依赖项的传递性。确保每个依赖项都正确地传递给您的模块。 4. 禁用 Gradle 的自动导入:有时 Gradle 的自动导入功能可能会导致依赖传递失败。您可以尝试禁用自动导入并手动声明所有依赖项。例如,在您的 settings.gradle 文件添加以下行: ```groovy gradle.settingsEvaluated { // Disable automatic module import rootProject.children.each { it.buildFileName = "build-no-imports.gradle" } } ``` 并在每个模块的 build-no-imports.gradle 文件手动声明所有依赖项。 5. 检查依赖项的冲突:如果您的依赖项有多个版本存在冲突,那么您需要解决这些冲突。您可以使用 Gradle 提供的 `dependencyInsight` 命令来检查依赖项的冲突。例如,在命令行运行以下命令: ``` gradle dependencyInsight --dependency my-dependency ``` 这将显示所有依赖项的版本及其来源,以帮助您解决依赖冲突问题。 希望这些解决方法可以帮助您解决 Gradle 传递依赖不生效的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值