我已将代码迁移到AndroidX。除数据绑定外,其他一切工作正常。
我遇到以下错误
迁移到AndroidX后出现数据绑定错误
data "file" "policy" {
count = "${length(var.s3_bucket_name)}"
template = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListObjects",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::${var.s3_bucket_name[count.index]}",
"arn:aws:s3:::${var.s3_bucket_name[count.index]}/*"
]
}
]
}
EOF
}
到目前为止,我已经在Gradle构建中添加了以下几行
"Error:Cannot resolve the package androidx.databinding"
在gradle.properties中,
dataBinding {
enabled = true}
我已经浏览了很多链接。但是没有帮助。
Androidx and databinding AndroidX incompatible with DataBinding Android 等等。
对此有什么解决办法吗?
答案 0 :(得分:0)
尝试在gradle属性文件中添加android.databinding.enableV2 = true Androidx和数据绑定是兼容的
答案 1 :(得分:0)
最后,我找到了问题的答案。
我的应用程序有2个模块,我在两个模块中都使用了数据绑定。迁移到AndroidX后,其中一个模块尚未转换为AndroidX(仅数据绑定导入语句)。所以这是我的问题。
解决方案:如果我们正确查看的话,有两个gradle.properties文件。
我通过Refactor从Android迁移到AndrodX->迁移到AndroidX。然后将以下两行添加到第二个gradle.properties(Android结构-> Gradle脚本-> gradle.properties)。
android.enableJetifier=true
android.useAndroidX=true
因此另一个模块未转换为AndroidX(仅数据绑定)。然后在第一行gradle.properties中添加了相同的两行(项目结构-> gradle.properties)。
然后我的项目可以成功构建。
谢谢。