android studio提示错误:Multiple dex files define 解决办法

android studio 下载 | 2019-01-03 20:36

android studio提示错误:

Multiple dex files define Landroid/support/v4/media/VolumeProviderCompat$1;

分析:出现Multiple, dex字样,直接想到的可能就是重复倒入依赖了,所以要想办法找到哪里重复了。

解决办法:这是在项目引入一个module的时候,编译出现的错误,发现是库与库之间存在交叉编译,一个class被编译了两次,所以报错。通俗点就是项目里面引入了重复的v4包,后来查看module的gradle发现并没有,最后在module的libs本地库里面发现引用了一个v4包,将这个v4包删掉,重新编译解决问题。删除如下行:

implementation files('libs/android-support-v4.jar')

同时还删除如下行的gradle代码行(如果自己手工加入了其他库),避免重复编译:

implementation fileTree(include: ['*.jar'], dir: 'libs')

其他解决办法:

引用多个library时经常会遇到Multiple dex files define错误,最常见的是support库多次定义,此时可用以下gradle命令来查看工程的引用树:

gradlew -q dependencies

gradlew -q <projectName>:dependencies

找出冲突的工程后exclude之。exclude语法举例: