Multiple dex files define (jar包冲突)

来源:互联网 发布:益盟大单比率指标源码 编辑:程序博客网 时间:2024/06/09 20:58

Multiple dex files define (重复引用)

原因:在自己的项目中引用了某个“包”,而被你作为library的项目也引用了同一个“包”,引起编译错误。“包”是指类库里面出现了相同类名,不仅局限于jar包。android进行dex时会对字节码文件进行优化合并, 如果两个class完全一致, 合并以后就是一个。 但是如果两个类的类名一致但内部确有细微差别, 那么就不能合并。

情况一:主 module 和 library module在library中同时引入相同的“包”

错误日志:

1.1 错误原因:重复引用

1.2 解决方式:只保留一个

将libs文件夹下的V4包删除。

备注:能用compile引入的,尽量用compile引入。

情况二: 主 module 中多个依赖引用了相同的“包”

错误日志:

2.1 错误原因: 引用了同名的类

打开External Libraries查看:

确实出现了同名的类。

2.2 解决方式:找到引用了不需要的类的依赖库添加以下配置

support-compat-25.1.0是由于引入 compile ‘com.jakewharton:butterknife:8.5.1’生成的,所以去掉这个类库里的v4包依赖,找到 compile ‘com.jakewharton:butterknife:8.5.1’修改为:

备注:不知道那个类引入的,可以把引用注掉,在External Libraries查看是否是该类库导入的冲入包。

阅读全文
0 0
原创粉丝点击