Двойной класс, когда библиотека используется в Android - PullRequest
0 голосов
/ 07 января 2020

Я создаю библиотеку для использования другими разработчиками в других проектах, назовем ее SDK.

Мой SDK использует Android класс Worker для планирования фоновых заданий, и я использую эта библиотека:

androidx.work:work-runtime:2.2.0

У одного из разработчиков, использующих SDK, была проблема с дублирующимися классами при реализации моего SDK, поскольку другая библиотека импортировала те же классы рабочей среды выполнения. Но не в том же пакете:

android.arch.work:work-runtime:1.0.1

Если я попрошу разработчика использовать exclude при реализации моего SDK, то он попытается использовать классы с более низкой версией ( 1.0.1), так что это будет в другой версии, которую я не тестировал. Я уже пробовал это.

Что я могу сделать, чтобы решить эту проблему, потому что обе библиотеки имеют одинаковые классы? Можно поддерживать обе библиотеки с разными версиями в разных областях?

Это ошибка:

  Duplicate class androidx.work.BackoffPolicy found in modules classes.jar (android.arch.work:work-runtime:1.0.1) and classes.jar (androidx.work:work-runtime:2.2.0)
  Duplicate class androidx.work.Configuration found in modules classes.jar (android.arch.work:work-runtime:1.0.1) and classes.jar (androidx.work:work-runtime:2.2.0)
  Duplicate class androidx.work.Configuration$Builder found in modules classes.jar (android.arch.work:work-runtime:1.0.1) and classes.jar (androidx.work:work-runtime:2.2.0)
  Duplicate class androidx.work.Constraints found in modules classes.jar (android.arch.work:work-runtime:1.0.1) and classes.jar (androidx.work:work-runtime:2.2.0)
  Duplicate class androidx.work.Constraints$Builder found in modules classes.jar (android.arch.work:work-runtime:1.0.1) and classes.jar (androidx.work:work-runtime:2.2.0)
  Duplicate class androidx.work.ContentUriTriggers found in modules classes.jar (android.arch.work:work-runtime:1.0.1) and classes.jar (androidx.work:work-runtime:2.2.0)
  ...

Спасибо!

...