Androidstudio运行项目时,遇到个奇葩错误:
Error:Execution failed for task ':faLv:dexXinJieKeJiDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcc/xjkj/falv/view/ResizeLayout$OnResizeListener;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
仔细看看log,发现是同事在另一个module中添加了一个跟我的module中一样的类,重复导致Androidstudio运行时直接报错。
解决方案就很简单了,将两个module中公用的类放入一个公共的library module中,保证整个项目运行起来只有唯一一个类就行了。