com.android.dex.DexException: Multiple dex files define Lorg/hamcrest/Description;
<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>