Android Studio解决依赖冲突方案

AndroidStudio构建项目默认使用的插件是Gradle,然而Gradle默认是支持依赖传递的,那么必然会产生一些问题,比如依赖冲突的问题,为了解决依赖冲突,我们需要先了解Gradle的库依赖管理的几个技术点。

1. Gradle的依赖传递

      那什么是依赖传递呢?举一个最简单的例子。
      projectC依赖projectB,projectB依赖projectA,那么projectC就依赖了projectA

2 Gradle的依赖检查

     使用Gradle的命令行,执行gradle :app:dependencies即可(需在项目根目录下,会生成类似下面的目录结构)

     |    +--- androidx.fragment:fragment:1.0.0
     |    |    +--- androidx.core:core:1.0.0 -> 1.0.1 (*)
    |    |    +--- androidx.legacy:legacy-support-core-ui:1.0.0
    |    |    |    +--- androidx.annotation:annotation:1.0.0
    |    |    |    +--- androidx.core:core:1.0.0 -> 1.0.1 (*)
    |    |    |    +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
    |    |    |    +--- androidx.customview:customview:1.0.0
    |    |    |    |    +--- androidx.annotation:annotation:1.0.0
    |    |    |    |    \--- androidx.core:core:1.0.0 -> 1.0.1 (*)

3 解决Gradle的依赖冲突

 1)force 强制使用某个版本的库

    强制使用2.1.0版本的库:configurations.all {
      resolutionStrategy {
        force 'com.squareup.okio:okio:2.1.0'
     }
 }

 2)transitive关闭依赖传递

  implementation ('com.squareup.retrofit2:retrofit:2.6.0') {
         transitive false
  }
 3)exclude排除某项库

  configurations {
     all*.exclude group: 'com.android.support', module: 'support-annotations'
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值