在其中一个依赖项中使用旧版本的支持库

时间:2016-03-22 17:46:23

标签: android gradle

以下是app:dependencies

的输出
+--- com.android.support:appcompat-v7:23.2.1
|    +--- com.android.support:support-v4:23.2.1
|    |    \--- com.android.support:support-annotations:23.2.1
|    +--- com.android.support:animated-vector-drawable:23.2.1
|    |    \--- com.android.support:support-vector-drawable:23.2.1
|    |         \--- com.android.support:support-v4:23.2.1 (*)
|    \--- com.android.support:support-vector-drawable:23.2.1 (*)
+--- com.android.support:design:23.2.1
|    +--- com.android.support:support-v4:23.2.1 (*)
|    +--- com.android.support:appcompat-v7:23.2.1 (*)
|    \--- com.android.support:recyclerview-v7:23.2.1
|         +--- com.android.support:support-v4:23.2.1 (*)
|         \--- com.android.support:support-annotations:23.2.1
+--- com.jakewharton:butterknife:7.0.1
+--- project :library
|    +--- com.android.support:appcompat-v7:22.2.0 -> 23.2.1 (*)
|    \--- com.android.support:recyclerview-v7:22.2.0 -> 23.2.1 (*)
\--- org.jooq:joor:0.9.5

正如您所见,我的库依赖于支持lib 22.2.0。如何让我的项目library使用22.2.0而不是23.2.1。我的应用程序在23.2.1失败。有没有办法用旧版本的支持库单独编译library

我的依赖关系看起来像这样,

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:design:23.2.1'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile project(':library')
    compile 'org.jooq:joor:0.9.5' 
}

1 个答案:

答案 0 :(得分:2)

不确定这是否会对您有所帮助,但是我遇到了类似的问题,因为新的库版本会导致问题,所以我强迫旧版本使用。

定义依赖项时,请尝试:

    compile('com.android.support:design:22.2.0'){
    force = true
    }

    compile('com.android.support:design:22.2.0') {
    force = true
    }

希望这会有所帮助。