WorkManager v1 和 v2 冲突

WorkManager v1 and v2 conflict

我使用 WorkManager 的第 2 版,它位于 androidX 包中。

我还使用 另一个库,它使用 Arch 组件 包中的 WorkManager v1。

当我同步项目时,同步成功完成,但是当我尝试构建项目时。我收到以下错误,提示您有重复值。

我在我的Gradle中使用的版本:
"androidx.work:work-runtime-ktx:2.0.1"

添加到 库的版本:
'android.arch.work:work-runtime-ktx:1.0.1'

错误:

Duplicate class androidx.work.ArrayCreatingInputMerger found in modules classes.jar (android.arch.work:work-runtime:1.0.0-rc01) and classes.jar (androidx.work:work-runtime:2.0.1)
Duplicate class androidx.work.BackoffPolicy found in modules classes.jar (android.arch.work:work-runtime:1.0.0-rc01) and classes.jar (androidx.work:work-runtime:2.0.1)
Duplicate class androidx.work.Configuration found in modules classes.jar (android.arch.work:work-runtime:1.0.0-rc01) and classes.jar (androidx.work:work-runtime:2.0.1)
Duplicate class androidx.work.Configuration$Builder found in modules classes.jar (android.arch.work:work-runtime:1.0.0-rc01) and classes.jar (androidx.work:work-runtime:2.0.1)
...

我也将这些添加到我的 gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

冲突是因为两个workmanager的依赖关系。尝试删除第二个,即 android.arch.work:work-runtime-ktx:1.0.1。并根据 androidx 版本

迁移您的代码

如果您不想要来自第三方库的依赖项,您可以简单地从该库中排除它。

对于您的情况,您可以排除 android.arch 工作经理并添加您自己的 androidX 工作经理。

类似于:

implementation('your_library') { 
    exclude group :'android.arch.work:work-runtime-ktx'
}