multiple dex files define Landroid/support/v4/

11,543

Solution 1

the library authors should fix them

Solution 2

This seems to be a common ADT to Android studio migration problem. ADT is looking for a copy of android-support-v4.jar in the libs/ dir while Android studio has it's own internal copy. When migrating the jar file is left in the libs dir which creates a duplicate jar most likely an older version. I deleted the jar in the libs dir and problem was solved.

Share:
11,543
Kamil Nękanowicz
Author by

Kamil Nękanowicz

Java, Spring, Android!

Updated on June 05, 2022

Comments

  • Kamil Nękanowicz
    Kamil Nękanowicz about 2 years

    I can not compile the project gets the following error compilation:

    Error:Execution failed for task ':myApp:dexDebug'.

    com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Program Files (x86)\Android\android-studio\sdk\build-tools\21.0.2\dx.bat --dex --output C:\Users\Android Studio\Android Studio\myApp\build\intermediates\dex\debug --input-list=C:\Users\myApp\Downloads\Android Studio\Android Studio\myApp\build\intermediates\tmp\dex\debug\libraryList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)

    Of course, this code solve my problem

    configurations { all*.exclude group: 'com.android.support', module: 'support-v4'

    but unfortunately does not satisfy me

    dependencies {
        compile fileTree(include: '*.jar', dir: 'libs')
    
        compile 'com.android.support:support-v4:21.+'
        compile project(':PullToRefreshListFragment')
        compile project(':validator')
        compile project(':AndroidBootstrap')
    
        compile 'com.google.android.gms:play-services:6.+'
        compile 'com.android.support:appcompat-v7:21+'
    
        compile 'com.github.codechimp-org.apprater:library:1.0.+'
        compile 'com.sothree.slidinguppanel:library:+'
        compile 'me.grantland:autofittextview:0.2.+'
        compile 'io.realm:realm-android:0.71.0'
    
        compile ('com.loopj.android:android-async-http:1.4.6')
        {
            exclude group: 'com.google.android', module: 'support-v4'
        }
    
        compile('de.keyboardsurfer.android.widget:crouton:1.8.5@aar') {
            exclude group: 'com.google.android', module: 'support-v4'
        }
    
        compile ('io.nlopez.smartlocation:library:2.+')
        {
            exclude(group: 'com.google.android', module: 'gms:play-services')
        }
        configurations {
          // all*.exclude group: 'com.android.support', module: 'support-v4'
    
        }
    

    how can I compile the project?