Android-Exception整理之Multiple dex files define
问题描述:
手动编译Android工程时出现异常如下:1
2UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/xxx/xxx/xxx
这个问题出现的原因是类的重复定义,即包的重复引用,意思就是项目的引用的某个包,而被作为library的项目也引用了同一个包。
解决方案:
1.首先要先找到是哪个包的重复引用,如果项目庞大的话这是个费事的问题,最笨的方法就是挨个依赖library的libs文件夹内的jar文件查看,最好是也看看jar文件的结构,已防止是被别人改过名字的jar包,或者是被别人二次封装的jar包。好经过不懈努力找到是xxx.jar重复。
2.找到app或对应library下的gradle文件dependencies结构下。
找到1
compile fileTree(dir: 'libs', include: ['*.jar'])
修改成1
provided fileTree(dir: 'libs', include: ['*.jar'])