Я создаю библиотеку для использования другими разработчиками в других проектах, назовем ее 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)
...
Спасибо!