Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/graphics/BitmapCompat;

  今天新建了一个项目,gradle中自动引用了v7包:


Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/graphics/BitmapCompat;_第1张图片
图1

同时我比较喜欢使用DataBinding,顺手就添加上了.(因为项目中我只添加了这一个依赖,所以我一开始以为是DataBinding和新的v7包有冲突)

结果一运行出现了如下图2的错误:


Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/graphics/BitmapCompat;_第2张图片
图2

简单的看了一下错误,似乎和v4包有关,但具体是什么原因导致的,以及怎么解决,却是毫无头绪,于是按照惯例,复制,粘贴找google.

第一个博文说,是因为你引用的Library包存在冲突,把你引用的Library中相同的.jar包找到然后删除,这个显然不是我这种情况.(我除了一个DataBinding啥都没有添加)

第二个博文说,是gradle中把下图3中的compile手动改为provided:


图3

效果我试过了,并没有解决...

第三个博文说,修改Project Structure中的 Incremental Dex选项改为false,如下图4:


Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/graphics/BitmapCompat;_第3张图片
图4

结果,还是没用....

第四个博文说,先把你的v4包依赖删掉,再重新添加一次,我在gradle中找了一圈,并没有找到任何的v4包的依赖,他说是v4包的问题,那我这个根本就没有的是不是就不用删除-->重新依赖了?(反正当时我是没反应过来需要手动添加v4包)

后来看了"孤云细凤暮秋"的博客才知道,把v4包手动添加就ok了.


图5

好了,先到这里,希望对各位有所帮助.

你可能感兴趣的:(Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/graphics/BitmapCompat;)