有关android依赖传递冲突的解决方案
来源:互联网 发布:定义变量java 编辑:程序博客网 时间:2024/05/17 11:58
解释下概念
依赖传递:通常情况下,依赖本身也有依赖。比如Hibernate核心库就依赖一些其他类库。当Gradle测试你工程的时候,它也需要找到这些间接依赖。我们称之为“传递依赖”( transitive dependencies).
module,group, version(解释仅限后面用到的范围):通过例子解释更好理解。
> dependencies {> compile 'com.android.support:appcompat-v7:25.3.1' }
这是我们android中常见的写法。其实这是简写。那不简写是啥样呢?
dependencies { compile group: 'com.android.support', name: 'appcompat-v7', version: '25.3.1'}
这下明白了这三个字段的意义了吧。
言归正传,我们看下项目中遇到的问题:比如我们项目中使用了appcompat-V7:22.3.1 .然后我们要用一个三方开源库aa.bb.cc:XXX:1.1.1,结果三方开源库依XXX赖了appcompat-V7:25.3.1。这个时候项目默认情况下会使用高版本25.3.1.不巧的是appcompat-V7:25.3.1升级修改了原本22.3.1中的方法名(理论上这个应该前向兼容)。因为项目中使用的22.3.1的api名字被改了,或者不存在了。但是项目又默认依赖上了25.3.1。所以会导致错误。
这个时候需要的解决方式:
dependencies { compile ('aa.bb.cc:XXX:1.1.1',{ exclude group: 'com.android.support', module: 'appcompat-v7' })}
当然也有其他解决方式。不过感觉这是最优美,哈哈
阅读全文
0 0
- 有关android依赖传递冲突的解决方案
- 有关项目依赖包发生 Manifest Merge 冲突的详细解决方案
- 有关项目依赖包发生 Manifest Merge 冲突的详细解决方案
- maven 传递依赖-冲突解决
- Maven传递依赖冲突解决
- maven的传递性依赖的冲突问题
- android滑动冲突的解决方案
- android滑动冲突的解决方案
- Maven的传递性依赖及其jar包冲突解决
- Maven依赖传递、依赖传递排除、依赖冲突
- Android studio 依赖冲突的解决
- Android依赖冲突遇到的坑
- 安装软件时依赖冲突的万能解决方案
- Maven·依赖范围·传递依赖·依赖冲突
- 解决maven传递依赖中的版本冲突
- 解决maven【传递依赖】中的版本冲突
- 解决maven传递依赖中的版本冲突
- 解决maven传递依赖中的版本冲突
- HUST1722(线段树维护区间最大连续和)
- Kotlin基本使用之接口
- sqlite C/C++ API接口介绍
- SPI总线协议
- Unix/Linux中的read和write函数
- 有关android依赖传递冲突的解决方案
- 关于LinnerLayout动态添加的控件 并且给子控件动态设置Id 、点击的问题
- Linux命令学习总结:dos2unix
- maven + spring 集成 pom.xml配置文件
- 文章标题
- SVN 详解
- 程序包+创建包规范+创建包体+删除程序包
- dateFormat日期格式
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)(转)