AndroidX错误:依赖项中同时存在新旧数据绑定包

8

我已经更新了gradle.properties文件,添加了以下内容:

android.useAndroidX=true
android.enableJetifier=true

但我遇到了这个错误:

e: [kapt] An exception occurred: android.databinding.tool.util.LoggedErrorException: failure, see logs for details.
AndroidX Error: Both old and new data binding packages are available in dependencies. Make sure you've setup jettifier  for any data binding dependencies and also set android.useAndroidx in your gradle.properties file.
    at android.databinding.tool.util.L.printMessage(L.java:134)
    at android.databinding.tool.util.L.e(L.java:107)
    at android.databinding.tool.Context.discoverAndroidX(Context.kt:62)

3
你能展示你的应用程序级别的 build.gradle 文件吗? - Khemraj Sharma
有什么进展吗?我也遇到了同样的问题。 - Gauranga
回应 @Khemraj。一个 build.gradle 文件会很有帮助。最近我也遇到了这个问题,不得不禁用 SafeArgs 库来解决它。 - MowDownJoe
6个回答

2
即使你启用了AndroidX的使用
android.useAndroidX=true
android.enableJetifier=true

"和数据绑定"
android {
    ...
    ...
    dataBinding {
        enabled = true
    }

}

您仍将遇到与依赖相关的问题。
我建议您进行重构并自动更改所有必要的导入为Android X,以避免此类问题。
选择您的项目,转到重构 > 迁移到AndroidX

enter image description here


0
我曾经遇到过同样的错误,当我从应用程序 / build.gradle 的依赖项中删除这一行 (implementation 'androidx.databinding:databinding-compiler:3.6.0') 时,问题得到了解决。 希望对你有所帮助。

0

在我的情况下,我只是移除了implementation 'androidx.databinding:databinding-compiler:3.5.3'


0
AndroidX 错误:旧的和新的数据绑定包都在依赖项中可用。
这个错误意味着您尚未将所有旧依赖项转换为其新的对应依赖项。 此官方页面列出了一系列工件映射。 您需要识别旧依赖项并按照上述页面中映射的新依赖项进行更改。
例如 -

com.android.support:cardview-v7 可以在 androidx.cardview:cardview:1.0.0 com.android.support:support-v4 - androidx.legacy:legacy-support-v4:1.0.0

一旦您将所有依赖项更改为新的工件,则会解决错误。 如果您需要了解 AndroidX,请参阅 详细答案

在我的项目通过 Android Studio 中的相应选项重构为使用 AndroidX 后,出现了这个问题。它捕获了所有旧的支持库,并用相应的 AndroidX 构件替换了它们。我不认为是这个原因。(诚然,我的情况由于项目使用一个不再受支持的库具有注释处理器而将 Jetifier 关闭。如果可以的话,我会将其删除。) - MowDownJoe

0

当迁移后出现这种情况时...只需删除build目录,该目录保存生成的源代码(即使所有构件都已在build.gradle中被替换,数据绑定生成的代码仍可能存在于这些源代码中 - 导致重复警告)。


0
android.databinding.enableV2=true

请将此行添加到您的gradle.properties文件中。

另外,您的build.gradle(app)文件的片段将非常有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接