Как система видит Android-приложение

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

Ответ

Android-приложение система видит как набор компонентов, ресурсов и манифеста.

Основные части:

  1. Манифест (AndroidManifest.xml) – декларирует компоненты, разрешения, минимальную версию SDK и т.д.
  2. Код (Java/Kotlin) – логика в классах, включая Activity, Service, BroadcastReceiver, ContentProvider.
  3. Ресурсы (res/) – разметка (layout/), строки (values/), изображения (drawable/).
  4. Скомпилированные ресурсы и код – .dex-файлы (Dalvik/ART) и сжатые ресурсы в .apk/.aab.

Пример манифеста:

<manifest ...>
    <application ...>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

При установке система парсит манифест, регистрирует компоненты и выделяет процесс. ART компилирует .dex в машинный код для оптимизации.