com.android.dex.DexException: Multiple dex files define
android, android-gradle-plugin, android-studio
Solution
I just had the same issue and I discovered that my application and a library were referring to 2 versions of the same jar.
I did a search and my application.iml file clearly showed the duplicates.
<orderEntry type="library" exported="" name="crittercism_v3_0_11_sdkonly" level="project" />
<orderEntry type="library" exported="" name="crittercism_v4_4_0" level="project" />
I replaced the older v3 version with the v4 version and it worked after a clean rebuild.
Problem
I am using Android Studio 0.4.2. Opened project from a friend who is using 0.3.2. Tried to compile but got exception. ``` Execution failed for task ':JuiceTV:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Program Files\Android\android-studio\sdk\build-tools\19.0.0\dx.bat --dex --output D:\Antik TV - Android\JuiceTV\build\libs\JuiceTV-debug.dex D:\Antik TV - Android\JuiceTV\build\classes\debug D:\Antik TV - Android\JuiceTV\build\dependency-cache\debug D:\Antik TV - Android\JuiceTV\build\pre-dexed\debug\classes-ffe9228b675e120536184b1056a59fcfc91e4006.jar D:\Antik TV - Android\JuiceTV\build\pre-dexed\debug\commons-io-2.4-27f1277ba9e42db4b52f3f658da01a26db29b896.jar D:\Antik TV - Android\JuiceTV\build\pre-dexed\debug\joda-time-2.2-4549e2440d188ee3fb4f85702e03eace13e8ad18.jar D:\Antik TV - Android\JuiceTV\build\pre-dexed\debug\mmlib-04a4fd100008bfbc84f0c25fd219e50eb7de9d0b.jar D:\Antik TV - Android\JuiceTV\build\pre-dexed\debug\support-v4-18.0.0-ba816fc3ae00ee0fdb20e5444c1d8bb88647d773.jar Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/sevensoft/mmlib/AttachedOverlayWindow$1; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:593) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:551) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:532) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:169) at com.android.dx.merge.DexMerger.merge(DexMerger.java:187) 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) ``` Tried this things: - deleting *.apk files - searching for dependencies with gradle -q dependencies but got nothing JuiceTV Gradle: ``` buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.7.+' } } apply plugin: 'android' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 18 } } dependencies { compile project(':TVbase') } ``` BaseTv Gradle: ``` buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.7.+' } } apply plugin: 'android-library' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion '19.0.0' defaultConfig { minSdkVersion 14 targetSdkVersion 18 } } dependencies { compile 'com.android.support:support-v4:18.0.+' compile files('libs/joda-time-2.2.jar') compile files('libs/mmlib.jar') compile files('libs/commons-io-2.4.jar') } ``` Any new tips?