WorkManager v1和v2冲突

时间:2019-06-08 13:15:12

标签: android androidx android-workmanager

我使用 androidX 软件包中的 WorkManager版本2

我还使用了另一个使用WorkManager v1的库,该库位于 Arch组件程序包中。

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

我在我的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

2 个答案:

答案 0 :(得分:1)

如果您不想从第三方库中获取依赖关系,则可以将其从该库中排除

根据您的情况,您可以排除android.arch工作经理,而添加自己的androidX工作经理。

类似的东西:

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

答案 1 :(得分:0)

冲突是由于两个工作管理器依赖关系。尝试删除第二个,即android.arch.work:work-runtime-ktx:1.0.1。并根据androidx版本迁移您的代码