Вопрос проверяет понимание механизма ADB-установки и различий между APK и AAB.
APK передаётся на устройство напрямую через ADB и устанавливается одним файлом. AAB не устанавливается как есть — Android Studio генерирует набор split APK, которые затем отправляются на устройство. После проверки подписи система размещает файлы приложения и запускает его. Процесс включает оптимизацию и инкрементальные обновления.
Установка приложения через Android Studio зависит от типа формата — APK или AAB — но в обоих случаях используется ADB.
Процесс выглядит так:
Android Studio выполняет команду adb install -r app-debug.apk.
Система проверяет подпись и целостность пакета.
Приложение устанавливается в приватный каталог устройства.
DEX-файлы оптимизируются при необходимости.
Флаг -r позволяет обновлять существующую версию.
AAB не может быть установлен напрямую:
Studio вызывает bundletool для создания набора APK:
base.apk
config-density.apk
config-language.apk
config-abi.apk
ADB устанавливает эти APK командой adb install-multiple.
Устройство получает только те ресурсы, которые ему подходят.
Этот механизм уменьшает размер устанавливаемого приложения.
Android Studio ускоряет установку:
Передаются только изменённые файлы.
В некоторых случаях код может заменяться без перезапуска (Apply Changes).
Время установки значительно сокращается.
После размещения файлов:
Package Manager регистрирует приложение.
Можно запускать Activity через adb shell am start.
Приложение становится доступным пользователю.
APK устанавливается целиком, а AAB требует генерации нескольких APK. Android Studio применяет оптимизации, чтобы установка была максимально быстрой и удобной.