Android 依赖merge规则

一、远程依赖merge规则

如果多个模块是通过【implementation+坐标】的方式来依赖库的话,那么只会编译一个版本,并且是最新版本, 比如:

module A: 
implementation "com.fengma.tool:gradle-tool:2.1.2"
...
module B:
implementation "com.fengma.tool:grdle-tool:2.3.3" //gradle默认会编译最新版本

如果你想改变默认的编译版本选择,可以通过Gradle的依赖选择机制强制指定某个版本:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        if (details.requested.group == 'com.fengma.tool') {
            details.useVersion '2.1.2'
            details.because 'Use Lower version'
        }
    }
}

作者:fengma chu
链接:https://www.zhihu.com/question/274024367/answer/373515253
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
二、本地加远程依赖方式

当module A 以【本地lib】的方式引入某个jar包,module B以【implementation +坐标】的方式引入同一份库,则会引起编译冲突导致编译失败,需要统一依赖方式。

module A:
compile files('libs/fengma-tool-2.1.2-.jar')
...
module B:
compile "com.fengma.tool:grdle-tool:2.3.3"
... 编译冲突,类重复
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网小熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值