【问题标题】:Android data binding dependency conflict with the support libraryAndroid数据绑定依赖与支持库冲突
【发布时间】:2017-05-24 21:29:31
【问题描述】:

我正在尝试在我的 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是什么版本的?
  • 版本2.3.0-beta1.

标签: android gradle lint


【解决方案1】:

为此记录了一个缺陷,这导致了更有用的错误消息: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 插件 3.0.0 开始,您通常应该改用以下内容:

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

【讨论】:

    【解决方案2】:

    如果您使用的是 gradle 3.0 或更高版本,请按如下方式添加。

    implementation 'com.android.support:support-v4:<the_version>'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-12
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      相关资源
      最近更新 更多