Работал ли с расширениями

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

Ответ

Да, работал с Android App Extensions. Они позволяют расширять функционал приложения без изменения основного APK. Основные типы:

  1. Instant Apps - для быстрого запуска без установки
  2. Wear OS - расширения для часов
  3. Auto - для автомобильных систем
  4. TV - для Android TV

Пример создания модуля динамического feature-модуля:

// build.gradle (:feature)
plugins {
    id 'com.android.dynamic-feature'
}

dependencies {
    implementation project(':app')
}

Ключевые моменты:

  • Разделение на base и feature модули
  • Динамическая загрузка через SplitInstallManager
  • Ограничения по размеру (15MB для instant apps)
  • Поддержка в Google Play

Важно правильно обрабатывать случаи, когда расширение не установлено.