09月09, 2015

Android Studio 解决 com.android.dex.DexException: Multiple dex files define(重复引用包)

今天从Eclipse向Android Studio导入工程的时候出现了Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)这个错误,弄了将近3个小时,马克一下。

原因是Android Studio在导入Eclipse工程的时候,会自动把整个工程的jar包归类,并自动在每个module中引用用到的jar包集合,如下图:

alt

但是这样就导致整个project中的多个module可能引用了同样的jar集合,从而引发标题中的编译错误。

我先是参考了这个:http://blog.csdn.net/hyr83960944/article/details/41825087,中的方法2,发现没有用,还是一样重复

然后参考了http://blog.csdn.net/leiming32/article/details/44653485 中的方法,把同一个jar包集合放到一个module下,其他module则依赖这个module,如下图

alt

但是发现会出现编译错误,这次的错误是找不到jar包了,捣鼓了半天,发现网页中的方法和我的截图不太一样,我这里多一个“export”选项,但是它没有,于是抱着试一试的心情选上,再次编译,终于通过了!!!

我自己估计这个选项的含义应该是,可导出给其他module使用。

PS:这种情况只会出现在从Eclipse工程向AS工程切换的时候,后来AS直接提供了把Eclipse工程转换成gradle结构的import方法,不过自动识别成的gradle工程结构还是经常会出问题,难免要自己调整一下。

本文链接:http://www.siki.space/post/android_studio_solve_multilpe_dex_define.html

-- EOF --

Comments