2

I'm having this weird exception that suddenly came out of nowhere after I added some resources to my Android project. The app stopped building completely and throwing the following exception:

Error:Execution failed for task 
':app:transformClassesWithJarMergingForEliteDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/design/widget/CoordinatorLayout$1.class

I've faced this same exception before but with a different class and I fixed it instantly but the thing now is that I don't know where is the duplicate and I couldn't find anyone on SO with the same duplication exception.

I tried excluding support-v4 from all other libraries, I also have multidex enabled in my project but nothing seems to fix the problem so I figured some of you might have some insight about this and why it happened suddenly without changing anything in my build.gradle file as it was working perfectly fine before.

My build.gradle is the following:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'realm-android'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 27
        versionName "2.2.4"

        multiDexEnabled true

    }

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

    buildTypes {
        release {
            minifyEnabled false
//            proguardFiles 'proguard.cfg'
        }
    }

    useLibrary 'org.apache.http.legacy'
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/DEPENDENCIES'
    }
}

repositories {
    maven {
        url "https://jitpack.io"
    }
    maven { url 'https://maven.fabric.io/public' }
    mavenCentral()
}

dependencies {
    compile project(':FORTSDKv1.4.1')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/gcm.jar')
    compile files('libs/httpclient-4.3.4.jar')
    compile files('libs/httpmime-4.2.5.jar')
    compile files('libs/HockeySDK-3.0.2.jar')
    compile project(':library-2.4.1')
    // Required for geotagging
    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true
    }
    compile('com.code-troopers.betterpickers:library:3.1.0') {
        exclude group: 'com.nineoldandroids', module: 'library'
    }
    compile 'com.android.support:support-v4:27.0.2'
    compile ('com.android.support:appcompat-v7:27.0.2') {
        exclude module: 'support-v4'
    }
    compile ('com.android.support:cardview-v7:27.0.2')
    {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    compile 'com.android.support:customtabs:27.0.2'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.googlecode.libphonenumber:libphonenumber:5.5'
    compile 'org.parceler:parceler-api:1.1.5'
    compile ('com.google.android.gms:play-services-analytics:11.8.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    compile 'com.google.android.gms:play-services-maps:11.8.0'
    compile 'com.google.android.gms:play-services-auth:11.8.0'
    compile 'com.google.android.gms:play-services-gcm:11.8.0'
    compile 'com.google.android.gms:play-services-analytics:11.8.0'
    compile 'com.google.android.gms:play-services-location:11.8.0'
    compile 'com.github.hackware1993:MagicIndicator:1.5.0'
    compile 'com.roomorama:caldroid:2.3.1'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.leocardz:aelv:1.1@aar'
    compile 'com.flaviofaria:kenburnsview:1.0.7'
    compile('com.jakewharton:butterknife:8.4.0') {
        exclude module: 'support-compat'
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile 'com.pixplicity.easyprefs:library:1.8.1@aar'
    compile 'de.hdodenhof:circleimageview:2.2.0'
    compile 'com.github.jrvansuita:IconHandler:+'
    compile 'com.github.mancj:SlideUp-Android:2.2.5'
    compile 'com.afollestad:sectioned-recyclerview:0.5.0'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.facebook.stetho:stetho:1.4.1'
    compile 'com.facebook.stetho:stetho-okhttp3:1.4.1'
    compile 'com.uphyca:stetho_realm:2.0.0'
    compile 'org.greenrobot:eventbus:3.1.1'
    compile 'com.birbit:android-priority-jobqueue:2.0.1'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
    compile 'com.valdesekamdem.library:md-toast:0.8.0'
    compile 'com.facebook.android:account-kit-sdk:4.+'
    compile 'com.facebook.android:facebook-android-sdk:4.17.0'
    compile 'com.wang.avi:library:2.1.3@aar'
    compile 'com.afollestad.material-dialogs:core:0.9.6.0'
    compile 'com.onesignal:OneSignal:3.6.5'
    compile 'com.kbeanie:image-chooser-library:1.6.0@aar'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.scalified:fab:1.1.3'
    compile 'com.github.traex.expandablelayout:library:1.2.2'
    compile 'com.github.markomilos:paginate:0.5.1'
    compile 'com.wdullaer:materialdatetimepicker:3.3.0'
    compile 'com.github.tamir7.contacts:contacts:1.1.7'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'
    compile 'com.github.livechat:chat-window-android:v2.0.0'
    compile 'com.uber.sdk:rides-android:0.6.1'
    compile 'link.fls:swipestack:0.3.0'
    compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
    compile 'com.instabug.library:instabug:4.3.3'
    compile 'com.victor:lib:1.0.1'
    compile 'com.shamanland:fonticon:0.1.8'
    compile 'jp.wasabeef:recyclerview-animators:2.2.7'
    compile 'com.squareup.okhttp3:logging-interceptor:3.8.0'
    compile 'com.github.vihtarb:tooltip:0.1.9'
    compile 'com.daasuu:CountAnimationTextView:0.1.1'
    compile 'com.theartofdev.edmodo:android-image-cropper:2.6.+'
    compile('com.android.billingclient:billing:1.0') {
        exclude module: 'support-compat'
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile('de.keyboardsurfer.android.widget:crouton:1.8.5@aar') {
        // exclusion is not necessary, but generally a good idea.
        exclude group: 'com.google.android', module: 'support-v4'
    }
    apt 'com.jakewharton:butterknife-compiler:8.8.1'
    apt 'org.parceler:parceler:1.1.5'
    compile 'com.google.guava:guava:19.0'
    compile 'org.bouncycastle:bcprov-jdk16:1.46'
}


apply plugin: 'com.google.gms.google-services'

Any help is much appreciated. Thanks.

eyadMhanna
  • 2,412
  • 3
  • 31
  • 49

1 Answers1

11

I had the same error and was able to get my project to build by adding this at the bottom of my gradle file

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.0'
            }
        }
    }
}

For more info check this thread: https://stackoverflow.com/a/46963672/7308794

sl1der
  • 136
  • 1
  • 5
  • This should be the accepted answer. Have been googling and trying several solutions for the couple of days and this save my life. Thanks! – Aung Si Min Htet May 01 '18 at 20:50