【问题标题】:Databinding is not working after migrating to AndroidX迁移到 AndroidX 后数据绑定不起作用
【发布时间】:2020-03-02 11:41:51
【问题描述】:
我已将我的代码迁移到 AndroidX。除了数据绑定,一切都很好。
我收到以下错误
迁移到 AndroidX 后出现数据绑定错误
"Error:Cannot resolve the package androidx.databinding"
截至目前,我在 Gradle 构建中添加了以下几行
dataBinding {
enabled = true}
在 gradle.properties 中,
android.useAndroidX=true
android.enableJetifier=true
我已经浏览了很多相同的链接。但没有帮助。
Androidx and databinding
AndroidX incompatible with DataBinding Android
等等。
有什么解决办法吗?
【问题讨论】:
标签:
android
android-databinding
androidx
【解决方案1】:
终于,我找到了问题的答案。
我的应用程序有 2 个模块,我在两个模块中都使用了数据绑定。迁移到 AndroidX 后,其中一个模块尚未转换为 AndroidX(仅限数据绑定导入语句)。所以这是我的问题。
解决方法:如果我们没看错的话,有两个 gradle.properties 文件。
- 项目结构 -> gradle.properties
- Android 结构 -> Gradle 脚本 -> gradle.properties
我通过 Refactor 从 Android 迁移到 AndrodX--> 迁移到 AndroidX。然后将以下两行添加到 2nd gradle.properties(Android Structure -> Gradle Scripts -> gradle.properties)。
android.enableJetifier=true
android.useAndroidX=true
所以其他模块没有转换为 AndroidX(仅数据绑定)。然后我在第一个 gradle.properties(项目结构 -> gradle.properties)中添加了相同的 2 行。
那么我的项目就可以构建成功了。
谢谢。
【解决方案2】:
尝试在 gradle 属性文件中添加 android.databinding.enableV2=true
Androidx 和数据绑定是兼容的