Ответ
AndroidManifest.xml обрабатывается инструментом AAPT (Android Asset Packaging Tool) во время сборки приложения. Он парсит манифест, проверяет его корректность и упаковывает в APK/AAB.
Во время выполнения приложения манифест читается системой Android (PackageManager), которая извлекает из него метаданные: компоненты, разрешения, фичи и т. д.
Пример использования в коде:
val packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES)
val activities = packageInfo.activities // Список активностей из манифеста
Нюансы:
- AAPT2 (новая версия) добавляет оптимизации, например, удаление неиспользуемых ресурсов.
- Некоторые теги (например,
<uses-library>) обрабатываются только во время выполнения.