Ответ
Да, работал. Многомодульные приложения помогают разделить код по функциональности, упрощают тестирование и ускоряют сборку.
Основные подходы:
- Feature-модули – изолированные фичи (например,
:auth,:profile) - Shared-модули – общие компоненты (
:core,:network) - Dynamic Feature Modules – загрузка по требованию
Пример build.gradle feature-модуля:
plugins {
id("com.android.library")
id("kotlin-android")
}
dependencies {
implementation(project(":core"))
implementation(libs.retrofit)
}
Плюсы:
- Уменьшение времени сборки (изменения в одном модуле не требуют пересборки всего проекта)
- Четкое разделение ответственности
- Возможность повторного использования кода
Сложности:
- Настройка зависимостей между модулями
- Управление версиями библиотек
- Навигация между модулями (используйте
Navigation Componentили Deep Links)