Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: force gradle to include only one version of a library

Tags:

I use 'com.android.support:support-v4:23.3.0' in my build.gradle but when explore external libraries I see two version of support-v4 library (23.3.0 & 24.0.0). How can I find which dependency use support-v4:24.0.0 library? How can I force gradle to only add version 23.3.0?

external libraries image

this is my dependency list in build.gradle:

dependencies {     compile fileTree(dir: 'libs', include: ['*.jar'])     compile 'com.android.support:appcompat-v7:23.3.0'     compile 'com.android.support:support-v4:23.3.0'     compile 'com.android.support:design:23.3.0'     compile 'com.android.support:recyclerview-v7:23.3.0'     compile 'com.android.support:cardview-v7:23.3.0'     compile ('com.nightonke:wowoviewpager:1.0.2') {         exclude group: 'com.android.support', module:'support-v4'     }     compile ('com.j256.ormlite:ormlite-android:5.0'){         exclude group: 'com.android.support', module:'support-v4'     }     compile files('libs/picasso-2.5.2.jar')     compile files('libs/easyandroidanimationslibrary-v0.5.jar')     compile files('libs/apache-httpcomponents-httpclient.jar')     compile files('libs/apache-httpcomponents-httpcore.jar')     compile 'co.ronash.android:pushe-base:1.2.0'     compile 'com.google.android.gms:play-services-gcm:9.4.0'     compile('com.github.ozodrukh:CircularReveal:2.0.1@aar') {         transitive = true;     }     compile files('libs/btsdk.jar')     compile project(':zxing_barcode') // this project include the same version of support-v4 library     compile project(':cropper')// this project include the same version of support-v4 library     compile project(':taptargetview')// this project include the same version of support-v4 library     compile ('me.cheshmak:analytics:1.0.28'){         exclude group: 'com.android.support', module:'support-v4'     }     compile 'com.github.siyamed:android-shape-imageview:0.9.3@aar'     compile ('com.github.rey5137:material:1.2.2'){         exclude group: 'com.android.support', module:'support-v4'     }     compile ('jp.wasabeef:recyclerview-animators:2.2.3'){         exclude group: 'com.android.support', module:'support-v4'     }     compile ('com.github.deano2390:MaterialShowcaseView:1.1.0@aar'){         exclude group: 'com.android.support', module:'support-v4'     }     compile 'org.greenrobot:eventbus:3.0.0'     compile 'com.google.code.gson:gson:2.4'     compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {         transitive = true;     }     compile('com.crashlytics.sdk.android:answers:1.3.11@aar') {         transitive = true;     }      compile ('cat.ereza:customactivityoncrash:1.5.0'){         exclude group: 'com.android.support', module:'support-v4'     } } 

I use exclude group: 'com.android.support', module:'support-v4' to avoid others adding support library but no change happened.

like image 960
Mneckoee Avatar asked Jun 07 '17 05:06

Mneckoee


1 Answers

I can't add comment so I link here:

https://stackoverflow.com/a/37357786/3442734

use:

configurations.all {      resolutionStrategy.force 'com.android.support:support-v4:24.0.0' } 
like image 51
Wrobel Avatar answered Oct 20 '22 11:10

Wrobel