gradle依赖冲突的解决方式以及开发中遇到的相关问题

该文章已生成可运行项目,

查找整个项目依赖关系树

要想查看整个项目的依赖传递关系,使用命令:

gradlew :app:dependencies --configuration releaseRuntimeClasspath

其中app是项目的模块名称

运行以后查找结果中的含义如下

  • x.x.x (*) 该依赖已经有了,将不再重复依赖
  • x.x.x -> x.x.x 该依赖的版本被箭头所指的版本代替
  • x.x.x -> x.x.x(*) 该依赖的版本被箭头所指的版本代替,并且该依赖已经有了,不再重复依赖

gradle依赖冲突的解决方式

  • exclude关键字
implementation('androidx.constraintlayout:constraintlayout:1.1.3') {
   
   
    //解决冲突第一种排除方式
    exclude group: 'androidx.constraintlayout', module: 'constraintlayout-solver'
}
  • configuration配置
//定义配置名称
configurations {
   
   
    //自定义配置名称
    abc {
   
   
        println 'abc'
    }
    //第二种方式解决冲突
    configuration {
   
   
        all*.exclude module: 'annotation'
    }
    //第三种方式解决冲突,强制指定
    all {
   
   
        resolutionStrategy {
   
   
            force 'androidx.fragment:fragment:1.0.0'
        }
    }
}
  • 强制指定
//第三种方式解决冲突,强制指定
configurations.all {
   
   
该文章已生成可运行项目
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值