AS添加依赖报错Unable to merge dex
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的更多相关文章
- eclipse 导入工程报错Unable to execute dex: Multiple dex files define Landroid/annotation/SuppressLint
对策: 检查libs 是否有重复加载的.
- Eclipse报错 Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
这个错误时jar包重复造成的!! 看看有没有多的private Libary 删除即可!!!
- 记Git报错-refusing to merge unrelated histories
记Git报错-refusing to merge unrelated histories 系统:win7 git版本: 2.16.2.windows.1 问题 1.本地初始化了git仓库,放了一些 ...
- 单点登录(十一)-----遇到问题-----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 ...
- 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的安装目录中 ...
- 在centos系统的/etc/hosts添加了 当前主机的 ‘ NAT分配的IP controller’,RabbitMQ添加用户报错。
在centos系统的/etc/hosts添加了 当前主机的 ' NAT分配的IP controller',RabbitMQ添加用户报错. rabbitMq添加用户 报错信息如下 [root@contr ...
- [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 ...
- delphi调试需要管理员权限程序报错“Unable to create process:请求的操作需要提升”
delphi调试启动需要UAC权限的程序的时候会报错“Unable to create process:请求的操作需要提升”.这是因为delphi没有以管理员身份启动,这样delphi createp ...
- yum 安装 依赖报错
今天使用yum安装的时候 报错: Error: Multilib version problems found. This often means that the root cause 应该是yum ...
随机推荐
- 打开visual studio 2010报错:未能正确加载“VSTS for Database Professionals Sql Server Data-tier Application”包
1 解决: 运行cmd 2 输入:regsvr32 %windir%\system32\jscript.dll
- Java线程池ThreadPoolExecutor原理和用法
1.ThreadPoolExecutor构造方法 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAli ...
- 编程类-----matlab基础语法复习(1)
2019年美赛随笔记录: 具体功能:基础语法+基本运算+画图+矩阵+excel读取....... 所遇问题及其解决方案: 1. que:matlab中plot画图无法复制下来图片? ...
- logstash 抓取IIS日志文件写入Elasticsearch
如果需要对IIS日志进行分析可以使用logstash从文件中抓取出来进行分析: 输入部分: input { file { type => "iis_log_monitor" ...
- Python类元编程初探
在<流畅的Python>一书中提到: Classes are first-class object in Python, so a function can be used to crea ...
- #!/usr/bin/python3 和 #!/usr/bin/env python3的区别
脚本语言的第一行指出用什么程序去执行代码. #!/usr/bin/python3调用/usr/bin下的python3解释器.#!/usr/bin/env python3首先会到env设置里查找pyt ...
- vim 翻页命令
整页翻页 ctrl-f:向下翻一页 f含义:forword ctrl-b:向上翻一页 b含义:backward 翻半页 ctrl-d:向下翻半页 d含义:down ctlr-u:向上翻半 ...
- CSS实现水平垂直居中的1010种方式
转载自:CSS实现水平垂直居中的1010种方式 划重点,这是一道面试必考题,很多面试官都喜欢问这个问题,我就被问过好几次了 要实现上图的效果看似很简单,实则暗藏玄机,本文总结了一下CSS实现水平垂直居 ...
- DAY16 模块和包的导入
一.包 1.包的定义 包:就是一系列模块的结合体 2.重点 1.包中一定要有一个专门来管理包中所有模块的文件 2.包名:存放一系列模块的文件夹名字 3.包名(包对象)存放的是管理模块的那个文件的地址, ...
- 算法笔记--次小生成树 && 次短路 && k 短路
1.次小生成树 非严格次小生成树:边权和小于等于最小生成树的边权和 严格次小生成树: 边权和小于最小生成树的边权和 算法:先建好最小生成树,然后对于每条不在最小生成树上的边(u,v,w)如果我们 ...