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. Linux nmcli 网络管理

    Linux nmcli 网络管理 RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态.可以使用 nm ...

  2. elasticsearch搭建并通过go-mysql-elasticsearch同步db数据达到搜索引擎的目的

    logstash-input-jdbc/elasticsearch-jdbc缺点:删除记录没有办法同步,只能两边执行自己的删除命令,版本16年后未更新. go-mysql-elasticsearch缺 ...

  3. hello2代码的简单分析

    hello2部分代码: String username = request.getParameter("username");//将get~这个方法赋给username这个对象 i ...

  4. 理解bootstrap的列偏移offset 和 推拉push/pull的区别?

    参考: http://www.cnblogs.com/jnslove/p/5430481.html & https://blog.csdn.net/hly_coder/article/deta ...

  5. numpy小结

    <python数据科学>笔记  在线版地址:https://github.com/jakevdp/PythonDataScienceHandbook 1.常用np简写 import num ...

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

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

  7. CentOS7攻克日记(二) —— 配置初始化及网络配置

    reboot之后到达这个页面,点击第一个进去同意一下协议之后Done,然后点击右下角的FINISH

  8. windows系统如何查看端口被占用、杀进程

    1.首先启动windows的命令窗口 2.进入windows命令窗口之后,输入netstat -ano,就可以看到系统当前所有的端口使用情况 3.通过命令查找某一特定端口,在命令窗口中输入命令中输入n ...

  9. y

    switch(update_state) { : switch(num){ : window.progressn=num $('#h_progress_bar .ui-progress').anima ...

  10. Asp.net core 学习笔记 Fluent Validation

    之前就有在 .net 时代介绍过了. 这个 dll 也支持 .net core 而且一直有人维护. 对比 data annotation 的 validation, 我越来越觉得这个 fluent 好 ...