WorkManager v1 и v2 конфликтуют - PullRequest
1 голос
/ 08 июня 2019

Я использую версию 2 WorkManager , которая находится в пакете androidX .

Я также использую другую библиотеку, которая использует v1 WorkManager который находится в пакете 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 ]

1 голос
/ 09 июня 2019

В тех случаях, когда вам не нужна зависимость от сторонней библиотеки, вы можете просто исключить ее из этой библиотеки.

В вашем случае вы можете исключить android.arch менеджер работы и добавьте свой собственный androidX менеджер работы вместо.

Что-то похожее на:

implementation('your_library') { 
    exclude group :'android.arch.work:work-runtime-ktx'
}
0 голосов
/ 08 июня 2019

Конфликт из-за двух зависимостей менеджера.Попробуйте удалить второй, т.е. android.arch.work:work-runtime-ktx:1.0.1.И перенесите ваш код относительно androidx версии

...