美文网首页
gradle隐形依赖

gradle隐形依赖

作者: lbForce | 来源:发表于2018-04-29 15:34 被阅读0次

依赖了com.android.support:appcompat-v7:27.1.1,并且使用了DataBinding。
编译会失败提示找不到方法“ContextCompat.getColor(@NonNull Context context, @ColorRes int id)”,明明在27.1.1的appcompat-v7包里有有这个方法。
然后能搜到support-v4:21.0.3里也有这个类但是没有这个方法,这就说明依赖冲突了。而support-v4:21.0.3肯定是隐形依赖进来的。

用./gradlew app:dependencies列出库的依赖关系:

+--- com.android.databinding:library:1.3.1
|    +--- com.android.support:support-v4:21.0.3
|    |    \--- com.android.support:support-annotations:21.0.3 -> 27.1.1
|    \--- com.android.databinding:baseLibrary:2.3.0-dev -> 3.0.1

原来databinding依赖了support-v4:21.0.3。

在 Gradle 中如果多个库依赖于相同的库的不同版本,Gradle 默认选择那个库的最新版本。上面显示 support-v4:21.0.3 依赖于 support-annotations:21.0.3 ,但是有一个新版本 support-annotations:27.1.1在依赖树中,所以 27.1.1 将会被使用。但是support-v4:21.0.3 只是 21.0.3 版本的,没有使用最新的 27.1.1 版本,导致了冲突。

所有的 com.android.support 库都必须使用完全相同的版本。

所以在项目根目录下的gradle下加就ok了:

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

相关文章

  • gradle隐形依赖

    依赖了com.android.support:appcompat-v7:27.1.1,并且使用了DataBindi...

  • 使用Dagger2

    说明 依赖注入 依赖库 Module build.gradle Project build.gradle 构建依赖...

  • Thymeleaf 二:前后台实战

    Maven依赖 Gradle依赖

  • 隐形依赖

    依赖 或许是那份踏实 或许是那份安全感 又或许只是自己的一厢情愿 隐形 看不见摸不着 刻在心底的信念 依赖是一种欲望

  • Gradle依赖

    android studio 升级3.0之后 gradle 依赖的变化 在3.0版本中,compile 指令被标注...

  • Gradle 依赖

    Gradle 4.0 以下 provided:是指编译的时候依赖这个jar包,但是最终打包的时候不打进去 在运行...

  • gradle依赖

    声明依赖 外部依赖 这样的依赖还可以写为简短的方式 库 Repositories 使用repositories 指...

  • Gradle、依赖

    Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用...

  • Gradle依赖

    原文:Gradle dependencies 译者:个别地方翻译可能不是很好,反复读了几遍,内容对自己帮助还是挺大...

  • android 查看gradle依赖

    查看gradle依赖

网友评论

      本文标题:gradle隐形依赖

      本文链接:https://www.haomeiwen.com/subject/nfnolftx.html