Unable to merge dex

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'
}
--------------------- 
 

猜你喜欢

转载自blog.csdn.net/sinat_29384657/article/details/86138525