Unable to merge dex
原因: 1、包引用重复
2、方法数超限
1、打开控制面板的 gradle control ,运行 Run with --stacktrace
2、run完之后,可以找到出现的原因,
2.1 出现重复的包,解决方法看3、4、5
2.2 包的数量超过范围
在build。gradle加如下代码
android {
defaultConfig {
multiDexEnabled true
}
}
3、在 android studio 中进行全局搜索JsonReader,可以看出com.google.gson.stream对应两个不同的引用包
4、打开终端,然后输入 gradle app:dependencies ,可以看到 gradle 的依赖树,然后搜索gson,可以看出一个包的引用在HttpCall的build.gradle中,另一个在项目的build.gradle中
5、解决方法
解决方式1
步骤1:将当前项目build.gradle的gson删除
步骤2:如果步骤1不行,将当前项目build.gradle的gson引用方式改成和HttpCall中的json引用方式相同
解决方法2
去除HttpCall的gson引用
implementation ('com.github.jhj24:HttpCall:v0.8.3'){
exclude group: 'com.google.code.gson'
}
---------------------