AS添加依赖报错Unable to merge dex

最近在给项目添加依赖的时候,要给项目导入Bmob的SDK,参照Bmob的官方文档,可以直接在app的build.gradle文件中添加

//Bmob后台依赖
compile 'cn.bmob.android:bmob-sdk:3.5.5'

同时项目也在之前添加了Retrofit等依赖,这样在Build的时候就提示了如下错误:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

之后找打的信息是:添加的依赖有冲突导致无法通过Build,定位问题最终是在Bmob的SDK与原有的retrofit和gson等产生了冲突:

//gson解析库
implementation 'com.google.code.gson:gson:2.8.0'
//retrofit网络请求库
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.1.0'

而在Bmob的SDK中,包含如下库:

解决办法:

由于SDK是集成的,一般是无法去定制的,那么,就需要我们在导入自己的额外的依赖的时候,做一个声明,取出我们自添加的依赖中会导致冲突的部分:

在这里就是retrofit里面包含的gson和OKHttp两个库,所以我们在添加retrofit依赖的时候将他们去除不添加在内即可:

compile('com.squareup.retrofit2:retrofit:2.1.0')
        { exclude group: 'com.squareup.okhttp3' }
compile('com.squareup.retrofit2:converter-gson:2.1.0')
        {
            exclude group: 'com.google.code.gson'
            exclude group: 'com.squareup.okhttp3'
        }

之后Clear-Rebuild即可。

AS添加依赖报错Unable to merge dex的更多相关文章

  1. eclipse 导入工程报错Unable to execute dex: Multiple dex files define Landroid/annotation/SuppressLint

    对策: 检查libs 是否有重复加载的.

  2. Eclipse报错 Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr

    这个错误时jar包重复造成的!! 看看有没有多的private Libary  删除即可!!!

  3. 记Git报错-refusing to merge unrelated histories

    记Git报错-refusing to merge unrelated histories   系统:win7 git版本: 2.16.2.windows.1 问题 1.本地初始化了git仓库,放了一些 ...

  4. 单点登录(十一)-----遇到问题-----cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema na

    cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.sp ...

  5. Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6

    Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6 原因是缺少tools.jar的依赖,tools.jar在jdk的安装目录中 ...

  6. 在centos系统的/etc/hosts添加了 当前主机的 ‘ NAT分配的IP controller’,RabbitMQ添加用户报错。

    在centos系统的/etc/hosts添加了 当前主机的 ' NAT分配的IP controller',RabbitMQ添加用户报错. rabbitMq添加用户 报错信息如下 [root@contr ...

  7. [RN] React Native 使用 react-navigation 报错 "Unable to resolve module `react-native-gesture-handler`

    在React Native 使用 react-navigation 过程中,报错 "Unable to resolve module `react-native-gesture-handle ...

  8. delphi调试需要管理员权限程序报错“Unable to create process:请求的操作需要提升”

    delphi调试启动需要UAC权限的程序的时候会报错“Unable to create process:请求的操作需要提升”.这是因为delphi没有以管理员身份启动,这样delphi createp ...

  9. yum 安装 依赖报错

    今天使用yum安装的时候 报错: Error: Multilib version problems found. This often means that the root cause 应该是yum ...

随机推荐

  1. vue学习笔记—bootstrap+vue用户管理

    vue,读音view,简单易用的前端框架.特点如下: 1.一个mvvm的前端框架,内部做好了html中dom对象和后台用js语言定义的变量的双向绑定 2.中国人尤雨溪维护的个人项目,中文资料多,和go ...

  2. sourceTree 代码冲突解决

    1.代码提交,有冲突 2. 拉取未同步的代码,勾选用衍合代替合并. 3. 在工作副本,未提交代码显示 4. 冲突代码解决 5. sourcetree页面

  3. 关于Excel报错

    今天,用POI做一个Excel的导出时,总是报空指针错误.后来经过我仔细的查找翻阅日志才发现问题的真正所在: 报错如下: HTTP Status 500 - Request processing fa ...

  4. dom节点相关问题

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells

    Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...

  6. python笔记—循环控制

    1.print可以打印多个参数,在括号内用,号区分,显示时一个,号显示一个空格 2.import导入时可以用as别名代替,方便两个模块中有相同函数时使用 3.序列解包:将一个序列(或任何可迭代对象)解 ...

  7. 前端基础面试题(JS部分)

    1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.und ...

  8. sql server把一个库表的某个字段更新到另一张表的相同字段

    缘由:进行update时忘了加where条件,导致所有数据全部update.. sql: 1 update Activity set endTime=b.endTime from idj_tl_bf. ...

  9. c# linq lambda 去重,排序,取最高纪录。

    ----------------------------------------------------.对基础类型排序 方法一: 调用sort方法,如果需要降序,进行反转: List<int& ...

  10. PHP算法练习1:两数之和

    leetcode地址:https://leetcode-cn.com/problems/two-sum/description/ 题目: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. ...