Ответ
Многомодульность — это подход к организации проекта, где код разбит на отдельные модули (библиотеки или приложения), каждый со своей зоной ответственности.
Преимущества:
- Ускорение сборки (изменения в одном модуле не требуют пересборки всего проекта)
- Чёткое разделение ответственности (features, core, data и т.д.)
- Возможность переиспользования кода между проектами
Пример структуры:
app/ # главный модуль приложения
feature-auth/ # модуль авторизации
core-ui/ # общие UI-компоненты
data/ # слой работы с данными
Gradle настройка модуля (:feature-auth):
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
}
dependencies {
implementation(project(":core-ui"))
}
Важно: избегать циклических зависимостей между модулями.