博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 库依赖冲突
阅读量:2071 次
发布时间:2019-04-29

本文共 1557 字,大约阅读时间需要 5 分钟。

问题描述

我们项目找经常经常看到库依赖冲突,例如下面的编译日志:

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':app:preDebugBuild'.
> Android dependency 'com.android.support:recyclerview-v7' has different version for the compile (25.3.1) and runtime (27.0.1) classpath. You should manually set the same version via DependencyResolution

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

编译日志告诉我们,项目中依赖了 recyclerview-v7 的两个版本, 25.3.1 和 27.0.1 ,两个版本产生冲突。

查找依赖

通过 gradlew dependencies 可以查找是哪个库依赖了这两个不同 reycclerview版本。

在工程根目录执行如下命令:

gradlew dependencies > diagnose.txt

命令会将工程的依赖树输出到文件中,执行完成后我们可以在项目根目录发现 diagnose.txt ,

下面是一段文件的部分内容

+--- project :lib

\--- com.lzy.widget:imagepicker:+ -> 0.6.1
     +--- com.android.support:appcompat-v7:25.3.1 -> 27.1.1 (*)
     +--- com.android.support:recyclerview-v7:25.3.1
     |    +--- com.android.support:support-annotations:25.3.1 -> 27.1.1
     |    +--- com.android.support:support-compat:25.3.1 -> 27.1.1 (*)
     |    \--- com.android.support:support-core-ui:25.3.1 -> 27.1.1 (*)
     \--- com.github.chrisbanes.photoview:library:1.2.4
          \--- com.android.support:support-v4:22.0.0
               \--- com.android.support:support-annotations:22.0.0 -> 27.1.1

 

可以看到 com.lzy.widget:imagepicker:+ 依赖了 com.android.support:recyclerview-v7:25.3.1 与工程其他地方的依赖冲突。

解决冲突

可以在app模块中,指定一个 recyclerview 版本。在app模块的 build.gradle 添加如下依赖

dependencies {

   //省略
   implementation 'com.android.support:recyclerview-v7:27.0.1'
}

另外

在提供库,可以把 support 包从 implementation 改为 compileOnly,这样方便使用

 

转载地址:http://javmf.baihongyu.com/

你可能感兴趣的文章
java学习总结之文件操作--ByteArrayOutputStream的用法
查看>>
Java生成和操作Excel文件
查看>>
Java的三种代理模式
查看>>
java静态代理与动态代理简单分析
查看>>
JTS Geometry关系判断和分析
查看>>
阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
查看>>
Intellij IDEA 使用技巧一
查看>>
IDEA 护眼色设置 背景行颜色取消等设置
查看>>
idea如何显示git远程与本地的更改对比?
查看>>
Git 分支 - 分支的新建与合并
查看>>
git创建与合并分支
查看>>
23种设计模式介绍以及在Java中的实现
查看>>
如何把本地项目上传到Github
查看>>
Git的使用--如何将本地项目上传到Github
查看>>
zookeeper客户端命令行查看dubbo服务的生产者和消费者
查看>>
intellij idea 相关搜索快捷键
查看>>
oracle查看数据库连接池中最大连接数和当前用户连接数等信息
查看>>
oracle中创建同义词(synonyms)表
查看>>
建立DB-LINK和建立视图
查看>>
普通视图和物化视图的区别(转)
查看>>