解决dagger和databinding冲突

升级 databing 和 dagger2 为最新版。。。

没错,报错的原因就是因为旧版本同时使用apt注解生成器没有作区分的原因,新版本已经修复了这个问题。

引入 databinding 的方式为:

在我们的 application module 的 android 模块中设置

dataBinding {
    enabled = true
}

就会自动引入与当前 gradle plugin 相同版本的 databinding 库,如果你想自己引入其他版本的也可以自己添加 dependencies 依赖。

所以我们如果要升级 databinding 版本,只需要升级我们 gradle plugin 版本就可以了。

目前我使用的是 3.2.0 版本:

    classpath 'com.android.tools.build:gradle:3.2.0'

引入 dagger2 的方式为:

在 dependencies 中添加

    implementation "com.google.dagger:dagger:${versions.dagger}"
    implementation "com.google.dagger:dagger-android:${versions.dagger}"
    implementation "com.google.dagger:dagger-android-support:${versions.dagger}"
    annotationProcessor "com.google.dagger:dagger-android-processor:${versions.dagger}"
    annotationProcessor "com.google.dagger:dagger-compiler:${versions.dagger}"

dagger 版本为 2.16

如果是kotlin的话,将 annotationProcessor 修改为 kapt 并在 module 中 apply kotiln-kapt 就可以了。

如果是 kapt 引入的话,就必须是使用 .kt 文件编写 Appcomponent 啦。

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页