Android:强制 gradle 只包含一个版本的库 [英] Android: force gradle to include only one version of a library

查看:46
本文介绍了Android:强制 gradle 只包含一个版本的库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的 build.gradle 中使用 'com.android.support:support-v4:23.3.0' 但在探索外部库时,我看到了两个版本的支持-v4 库(23.3.0 和 24.0.0).如何找到使用 support-v4:24.0.0 库的依赖项?如何强制 gradle 只添加版本 23.3.0?

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?

这是我在 build.gradle 中的依赖列表:

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'
    }
}

我使用 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.

推荐答案

我无法添加评论,所以我在这里链接:

I can't add comment so I link here:

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

使用:

configurations.all { 
    resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

这篇关于Android:强制 gradle 只包含一个版本的库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆