Android数据绑定依赖与支持库冲突。

18

我正在尝试像这样在我的Android项目中设置数据绑定:

dataBinding {
    enabled = true
}

然而,当我添加一个支持库依赖时,lint会抱怨:

所有的com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。发现版本25.1.0、21.0.3。示例包括'com.android.support:animated-vector-drawable:25.1.0'和'com.android.support:support-v4:21.0.3'

当我运行./gradlew app:dependencies时,我得到以下结果:

...
+--- com.android.support:appcompat-v7:25.1.0
|    +--- com.android.support:support-annotations:25.1.0
|    +--- com.android.support:support-v4:25.1.0
|    |    +--- com.android.support:support-compat:25.1.0 (*)
|    |    +--- com.android.support:support-media-compat:25.1.0
|    |    |    +--- com.android.support:support-annotations:25.1.0
|    |    |    \--- com.android.support:support-compat:25.1.0 (*)
|    |    +--- com.android.support:support-core-utils:25.1.0
|    |    |    +--- com.android.support:support-annotations:25.1.0
|    |    |    \--- com.android.support:support-compat:25.1.0 (*)
|    |    +--- com.android.support:support-core-ui:25.1.0 (*)
|    |    \--- com.android.support:support-fragment:25.1.0
|    |         +--- com.android.support:support-compat:25.1.0 (*)
|    |         +--- com.android.support:support-media-compat:25.1.0 (*)
|    |         +--- com.android.support:support-core-ui:25.1.0 (*)
|    |         \--- com.android.support:support-core-utils:25.1.0 (*)
|    +--- com.android.support:support-vector-drawable:25.1.0
|    |    +--- com.android.support:support-annotations:25.1.0
|    |    \--- com.android.support:support-compat:25.1.0 (*)
|    \--- com.android.support:animated-vector-drawable:25.1.0
|         \--- com.android.support:support-vector-drawable:25.1.0 (*)
+--- com.android.databinding:library:1.3.1
|    +--- com.android.support:support-v4:21.0.3 -> 25.1.0 (*)
|    \--- com.android.databinding:baseLibrary:2.3.0-dev -> 2.3.0-beta1
...

有什么方法可以防止链接抱怨而不禁用它吗?


你的 com.android.tools.build:gradle 版本是多少? - Ravi
版本 2.3.0-beta1 - ADev
2个回答

21

已记录了一个缺陷,导致出现更有帮助的错误信息:https://issuetracker.google.com/issues/37128971

解决方法是在您的build.gradle中为您正在使用的支持库版本添加对support-v4的显式依赖项,因此如果您正在使用支持库25.1.0:

compile 'com.android.support:support-v4:25.1.0'

如@gopalanrc所建议,从Android Gradle Plugin 3.0.0开始,您通常应该改用以下方式:

implementation 'com.android.support:support-v4:25.1.0'

0
如果您正在使用Gradle 3.0或更高版本,请按照以下方式添加。
implementation 'com.android.support:support-v4:<the_version>'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接