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中,保證整個項目運行起來只有唯一一個類就行了。