13
votes

How can I fix this issues while compiling release build in Android Studio 3.0 RC2

Error:Error: commons-logging defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses]

Error:Error: httpclient defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses]

My build.gradle is

compile 'net.zetetic:android-database-sqlcipher:3.5.7@aar'
compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
    transitive = true;
}    
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:multidex:1.0.2'
compile project(':rangebar')
compile project(':expandablerecyclerview')
compile project(':materialsearchview')
// Play Services
compile 'com.google.android.gms:play-services-auth:11.4.2'
compile 'com.google.android.gms:play-services-analytics:11.4.2'
compile 'com.google.android.gms:play-services-plus:11.4.2'
compile 'com.google.android.gms:play-services-maps:11.4.2'
compile 'com.google.android.gms:play-services-location:11.4.2'
compile 'com.google.android.gms:play-services-places:11.4.2'
compile 'com.google.android.gms:play-services-wearable:11.4.2'
compile 'com.google.android.gms:play-services-fitness:11.4.2'
// Firebase
compile 'com.google.firebase:firebase-core:11.4.2'
compile 'com.google.firebase:firebase-messaging:11.4.2'
compile 'com.google.api-client:google-api-client:1.22.0'
compile 'com.google.apis:google-api-services-people:v1-rev66-1.22.0'
// Just GSON
compile 'com.google.code.gson:gson:2.8.0'
// Don't remember what is it about

// View binder
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
// Social SDK's
compile 'com.facebook.android:facebook-android-sdk:4.20.0'
// Glide libs
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:2.0.1'
// SquareUp libs
compile 'com.squareup.okio:okio:1.13.0'
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.7.0'
compile 'com.squareup.okhttp3:okhttp:3.9.0'
compile 'com.squareup.okhttp3:okhttp-urlconnection:3.7.0'
compile 'com.google.dagger:dagger:2.11'
compile 'com.google.dagger:dagger-android-support:2.11'
annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
compile 'com.github.florent37:dagger-auto-inject:1.0.0'
annotationProcessor 'com.github.florent37:dagger-auto-inject-compiler:1.0.0'
compile('com.hwangjr.rxbus:rxbus:1.0.5') {
    exclude group: 'com.jakewharton.timber', module: 'timber'
}
compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'
// ?
compile 'it.neokree:MaterialTabs:0.11'
// ?
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
compile 'com.yqritc:recyclerview-flexibledivider:1.4.0'
compile 'com.pnikosis:materialish-progress:1.7'
compile 'com.r0adkll:slidableactivity:2.0.5'
compile 'com.github.asyl.animation:arcanimator:1.0.0'
compile 'com.pacioianu.david:ink-page-indicator:1.2.0'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.6'
// Circular adapter for picker
compile 'com.mobsandgeeks:adapter-kit:0.5.3'
// RX libs
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.3.0'
compile 'com.wdullaer:materialdatetimepicker:3.3.0'
compile 'com.github.aakira:expandable-layout:1.6.0@aar'
compile 'com.google.maps.android:android-maps-utils:0.5'
compile 'com.mikhaellopez:circularimageview:3.0.2'
//CALENDAR
compile 'joda-time:joda-time:2.9.9'
compile 'com.googlecode.libphonenumber:libphonenumber:8.3.2'
compile 'com.github.deano2390:MaterialShowcaseView:1.1.0'
compile 'me.leolin:ShortcutBadger:1.1.13@aar'
compile 'com.prolificinteractive:material-calendarview:1.4.3'
compile 'net.time4j:time4j-android:3.29-2017a'
// TODO CHECK
compile 'com.github.michael-rapp:android-material-dialog:4.0.1'
compile 'com.daimajia.swipelayout:library:1.2.0@aar'
compile 'com.jakewharton.rxbinding:rxbinding:1.0.0'
// TODO CHECK
compile 'me.zhanghai.android.materialratingbar:library:1.0.2'
compile 'com.github.markomilos:paginate:0.5.1'
compile 'com.github.jimcoven:jcropimageview:0.22'
compile 'ru.egslava:MaskedEditText:1.0.5'
compile 'com.github.delight-im:Android-SimpleLocation:v1.0.1'
6
try to gradlew dependencies inside terminal. - user6490462
Add output for gradlew app:dependencies --configuration releaseCompileClasspath - DeKaNszn

6 Answers

10
votes

Add to build.gradle located in app module

configurations {
    all {
        exclude module: 'httpclient'
        exclude module: 'commons-logging'
    }
}
5
votes

In my case I use this dependency:

compile 'com.github.nkzawa:socket.io-client:0.3.0'

The json is wrong. I changed

implementation('com.github.nkzawa:socket.io-client:0.3.0',{
    exclude group:'org.json',module: 'json'
})
4
votes

The same error i fixed by this piece of code...

android {
...

configurations {
    all {
        exclude module: 'httpclient'
        exclude module: 'json'
        exclude group: 'org.apache.httpcomponents'
    }
}

...
}
2
votes

add to app/build.gradle

configurations {
    all {
        exclude module: 'httpclient'
        exclude module: 'commons-logging'
    }
}
1
votes

I fixed this with a clean/rebuild. Also be sure to have annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0' in your gradle for Glide.

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')

compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'
compile 'com.github.recruit-lifestyle:FloatingView:2.2'
compile 'com.dropbox.core:dropbox-core-sdk:3.0.5'
compile 'com.squareup.okio:okio:1.13.0'
compile 'com.squareup.okhttp3:okhttp:3.9.0'
compile 'com.github.bumptech.glide:glide:4.2.0'
compile 'com.opencsv:opencsv:4.0'
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:preference-v7:26.1.0'
compile 'com.android.support:preference-v14:26.1.0'
compile 'com.google.android.gms:play-services-vision:11.4.2'
compile 'com.google.android.gms:play-services-places:11.4.2'

annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
}
0
votes

In my case the first issue (commons-logging) was solved excluding it from opencsv import:

implementation('com.opencsv:opencsv:4.5') {
    exclude group: 'commons-logging'
}