title: com.android.dex.DexException: Multiple dex files define Lorg/hamcrest/Description;
body: <p>I've  searched Stackoverflow for this error and found a lot of solutions and tried them all, none worked for me, for example changing <code>junit</code> to "4.8+" or adding these to <code>build.gradle</code> file:</p>
  
  <pre><code>packagingOptions {
      exclude 'META-INF/LICENSE.txt'
      exclude 'LICENSE.txt'
  }
  
  
  androidTestCompile ('com.squareup:fest-android:1.0.+') {
      exclude group: 'com.android.support'
  }
  androidTestCompile 'com.google.dexmaker:dexmaker:1.+'
  androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.+'
  androidTestCompile 'org.powermock:powermock-api-support:1.6.3'
  androidTestCompile 'junit:junit:4.11'
  androidTestCompile 'org.hamcrest:hamcrest-library:1.1'
  androidTestCompile 'org.mockito:mockito-core:1.9.5'
  </code></pre>
  
  <p>I'm always getting this error : </p>
  
  <pre><code>Error:Error converting bytecode to dex:
  Cause: com.android.dex.DexException: Multiple dex files define    Lorg/hamcrest/Description;
  
  Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
  &gt; com.android.build.api.transform.TransformException:     com.android.ide.common.process.ProcessException:   org.gradle.process.internal.ExecException: Process 'command 'C:\Program   Files\Java\jdk1.8.0_60\bin\java.exe'' finished with non-zero exit value 2
  </code></pre>
  
  <p>When changing <code>junit</code> to "4.8+" it says there's a conflict, and I need to make it 4.11.</p>
  
  <p>What's the solution!</p>