美文网首页
介绍项目的依赖和依赖冲突时的解决方法

介绍项目的依赖和依赖冲突时的解决方法

作者: 克拉丶 | 来源:发表于2019-02-19 17:29 被阅读0次

github:coolmaye
这篇文章是简单介绍项目的依赖和依赖冲突时的解决方法

依赖类型

implementation:依赖方式仅仅局限于当前module,优点增加编译速度,对外隐藏调用接口

api:参与app的编译和打包,是最普遍的依赖方法

compileOnly:参与编译的过程,但不参与最后的打包。 在自己的module中依赖一些最常用的库可以避免冲突
runtimeOnly:编译时不参与,对外隐藏所有的接口,只参最后的打包

依赖冲突时的解决办法

参考下面方法依赖冲突的解决方法

将两种方式结合,亲测绝对有效

1.点击Terminal 输入gradlew -q app:dependencies回车即可将app中所依赖的库展示出来

在这里插入图片描述

2.在module下的build.gradle的根节点下添加如下代码

configurations.all {
    resolutionStrategy {
        failOnVersionConflict()//版本冲突时报错
    }
}

然后点击右上角 Sync Now 进行同步

这时冲突的版本号就会在Messages页面中弹出,提示有以下版本的库是冲突的

图注:大少公众号

3.这时我们有[两个]处理办法

直接统一法:将所有出现的版本号统一指定为当前版本

configurations.all {
    resolutionStrategy {
        failOnVersionConflict()//版本冲突时报错
        force 'com.squareup.okio:okio:1.15.0'//强制指定版本
    }
}

当打包时报错的类被处理后,// failOnVersionConflict()该方法,然后重新打包。

移除异己法:选中okio:1.13.0字段回到Terminal中按Ctrl+F搜索该库在哪个依赖中使用,搜索到后,找到build.gradle中的该依赖,将对应的包去除

 implementation ('com.squareup.okhttp3:okhttp:3.9.0'){
        exclude group: 'com.squareup.okio'
 }

重新编译即可发现冲突被解决

4.注意
gradle会用自动采用最新版本库的方法屏蔽掉大部分的冲突问题,但极小部分的(也就是编译时报错的)就需要我们手动去处理了,一般以上方法都是针对于处理打包时报错的相关库,请大家有针对的对于这些库进行排查。

相关文章

  • 介绍项目的依赖和依赖冲突时的解决方法

    github:coolmaye这篇文章是简单介绍项目的依赖和依赖冲突时的解决方法 依赖类型 implementat...

  • Maven解决依赖冲突

    maven依赖冲突以及解决方法 什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类...

  • SpringBoot 的 Starter 快速集成机制

    一、Starter介绍 作用启动器(Starter)包含许多依赖项,这些依赖项是使项目快速启动和运行所需的依赖项。...

  • 记录同时集成阿里云SDK及百川SDK遇到的坑

    因为阿里云SDK用户模块底层依赖了百川SDK的问题,采用pod方式集成时,会报冲突,解决方法:对比重复文件,移除项...

  • SpringCloud 广告系统实战(二) - 脚手架的搭建

    0 联系我 1 Maven 基础 坐标 常用命令 2 Maven 相关特性 传递依赖与排除依赖 依赖冲突 多模块项...

  • maven依赖冲突以及解决方法

    什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖...

  • Android Studio常见问题整理

    包冲突问题处理 查看app的依赖情况 解决依赖包冲突的方式 在处理依赖包冲突时发现.以下两种方式的作用不一 方式①...

  • CocoaPods安装

    CocoaPods管理Xcode项目的库依赖项。 项目的依赖项在名为Podfile的单个文本文件中指定。Cocoa...

  • Android依赖冲突解决方法

    前言 实际开发过程中不可避免的会使用到一些第三方,而我们引用的第三方可能会和我们使用的其他库产生冲突;或者由于其他...

  • 依赖冲突和解决方法

    开发中经常会遇到依赖冲突的问题: 方法一,直接使用全局搜索。 如果版本都是在自己项目中,可以直接搜索到。修改即可。...

网友评论

      本文标题:介绍项目的依赖和依赖冲突时的解决方法

      本文链接:https://www.haomeiwen.com/subject/zqmfyqtx.html