Работал ли с многомодульными проектами

«Работал ли с многомодульными проектами» — вопрос из категории Gradle и сборка, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал. Многомодульные проекты помогают разделить код по функциональности, упрощают тестирование и ускоряют сборку.

Основные подходы:

  • Feature modules – изолированные модули по фичам (например, auth, profile)
  • Library modules – общие утилиты, core-логика
  • Dynamic Feature modules – для уменьшения размера APK

Пример build.gradle модуля:

plugins {
    id 'com.android.library'
}

android {
    namespace 'com.example.core'
    compileSdk 34
}

dependencies {
    implementation 'androidx.core:core-ktx:1.12.0'
}

Плюсы:

  • Чистая архитектура
  • Переиспользование кода
  • Параллельная разработка

Сложности:

  • Настройка зависимостей между модулями
  • Управление версиями зависимостей