lawang code

lawang Code


Tanyakan kode disini

Cara memperbaiki Multiple dex filescom.android.dex.DexException: Multiple dex files define di Android Studio

oleh handita okviyanto 2 tahun yang lalu

Jika anda pernah mendapatkan error di Android studio sebagai berikut ini :

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
    at com.android.dx.command.dexer.Main.run(Main.java:277)
    at com.android.dx.command.dexer.Main.main(Main.java:245)
    at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_31\bin\java.exe'' finished with non-zero exit value 2
Information:BUILD FAILED

Kemungkinan terbesar masalah tersebut terjadi karena dependencies yang bentrok misalnya library yang sama dengan beda versi di tempat yang berbeda.

Untuk melihat dependencies dari masing masing library anda dapat melihat dengan menggunakan perintah di Android Studio terminal. Pastikan letak dari path sudah sesuai dan ada file gradlew.bat

gradlew app:dependencies

Contoh fullpathnya sebagai brikut :

D:\Office\Office\Project\SPPKS\SPPKS>gradlew app:dependencies

:app:dependencies

Jika anda suda menjalankan perintah ini anda dapat melihat output seperti berikut :

compile - Classpath for compiling the main sources.
+--- com.commonsware.cwac:camera-v9:0.5.4
|    +--- com.actionbarsherlock:actionbarsherlock:4.4.0
|    |    \--- com.google.android:support-v4:r7
|    +--- com.commonsware.cwac:camera:0.5.4
|    \--- com.android.support:support-v4:18.0.+ -> 18.0.0
\--- com.android.support:support-v4:18.0.+ -> 18.0.0

Dari dependencies tersebut dapat dilihat library mana saja yang bentrok. Dari contoh di atas adalah com.google.android:support-v4:r7 dengan com.android.support:support-v4:18.0.+

Untuk mengatasi masalah ini anda dapat menggunakan keyword exlude module contohnya sebagai berikut :

dependencies {
compile('com.commonsware.cwac:camera-v9:0.5.4') {
  exclude module: 'support-v4'
}

compile 'com.android.support:support-v4:18.0.+'
}

Setelah dicompile kembali dapat dilihat sebagai brikut :

compile - Classpath for compiling the main sources.
+--- com.commonsware.cwac:camera-v9:0.5.4
|    +--- com.actionbarsherlock:actionbarsherlock:4.4.0
|    \--- com.commonsware.cwac:camera:0.5.4
\--- com.android.support:support-v4:18.0.+ -> 18.0.0

java android-studio android
Anda harus login terlebih dahulu untuk memberikan komentar

Recent Tag

X 4
X 6
X 1
X 21
X 3
X 1
X 1
X 2
X 6

Bantuan

Help

Feedback

Help