Я создаю приложение на основе библиотеки.Идея заключается в том, что провайдеры карт, такие как Google, Here, Baidu и т. Д. Будут предоставляться на основе вкуса продукта.Поскольку все вызовы будут основаны на интерфейсах, в будущем можно выбрать другого поставщика карт.
У меня есть 4 варианта продукта
europe {...}
row{...}
china{...}
usa{...}
Я создал библиотечный проект, который отвечает задля обработки всех функций, связанных с картой.
Ниже приведен формат структуры моего проекта ниже -
Я добавил все свои модули в файл settings.gradle
.В моем основном приложении зависимости я добавил модуль libray как
dependencies {
implementation project(":mapinterfaces")
...
}
Я хотел бы включить зависимости, основанные на вкусе продукта, как
dependencies {
implementation project(":mapinterfaces")
...
rowCompile 'com.google.android.gms:play-services-maps:16.1.0'
}
Теперь проблема заключается в том, как мой mapInterface
получить доступ к этим зависимостям.
Я не хочу, чтобы оба модуля включали в себя один и тот же набор зависимостей.
- Должен ли я создавать разновидности продуктов в моем модуле интерфейса картыи включить зависимости, основанные на разновидностях продукта, в модуле интерфейса карты?Это хорошая практика?
- Должен ли я удалить модуль библиотеки и включить код поставщика в свои различные варианты продукта?