Какие знаешь этапы компиляции

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

Ответ

Компиляция Android-приложений включает несколько этапов:

  1. Компиляция Java/Kotlin – исходный код компилируется в байт-код (.class файлы) с помощью javac/kotlinc.
  2. DEX-компиляция – байт-код преобразуется в Dalvik Executable (.dex) с помощью d8/dx.
  3. Обработка ресурсовaapt2 компилирует ресурсы (res/) в бинарный формат.
  4. Сборка APK.dex, ресурсы и манифест упаковываются в APK.
  5. Подпись – APK подписывается с помощью jarsigner или apksigner.
  6. Оптимизация (опционально)zipalign выравнивает данные для оптимизации загрузки.

Пример команды для сборки:

./gradlew assembleDebug