Разница между apk (.apk) и пакетом приложений (.aab)

Недавно Google представил новую функцию app bundle, которая очень похожа на APK, за исключением ее гибкости и архитектурных отличий.

Я прочитал много блогов / статей, чтобы понять, как комплект приложений работает на устройствах по сравнению с файлом APK.

Каков фактический внутренний рабочий процесс пакета приложений и как он работает на устройствах Android, начиная с Google Play Store?


person 0xAliHn    schedule 28.08.2018    source источник
comment
См. developer.android.com/guide/app-bundle.   -  person IntelliJ Amiya    schedule 28.08.2018
comment
видел это. Но от Google Play до Android-устройства рабочий процесс довольно неясен.   -  person 0xAliHn    schedule 28.08.2018
comment
Что в нем непонятного? Google берет ваш apk с вашей подписью, которую вы предоставляете, разделяет его на отдельные apk для разных разрешений и т.д., и когда устройство загружает его, Google Play предоставляет правильный apk для этого типа устройства   -  person tyczj    schedule 28.08.2018
comment
Aab по-прежнему является своего рода apk, они просто выбрасывают ненужные части в зависимости от устройства, которое в конце загружает приложение. Процесс, происходящий между загрузкой aab и устройством, загружающим apk, по сути, является bundletool работает на серверах магазина Google Play.   -  person zapl    schedule 31.08.2018


Ответы (3)


Пакеты приложений - это формат публикации, тогда как APK (приложение для Android PacKage) - это формат упаковки, который в конечном итоге будет установлен на устройстве.

Пакеты приложений используют bundletool для создания набора APK. (.apks) Его можно извлечь, и на устройстве можно развернуть базовую часть и конфигурацию, а также потенциальные модули динамических функций.

Зависимости могут выглядеть примерно так: Bundletool modules

Содержимое App Bundle выглядит примерно так: Bundletool contents

Дополнительная информация о App Bundle доступна здесь.

person keyboardsurfer    schedule 20.11.2018
comment
Я загрузил .apk файл в магазин, теперь я хочу загрузить .aab будет ли это иметь значение? - person Sagar; 27.09.2019
comment
Пока они имеют увеличивающиеся коды версий, вы не столкнетесь с какими-либо проблемами. - person keyboardsurfer; 27.09.2019
comment
У меня тот же вопрос, что и у @Sagar: нужно ли что-либо менять для обновления файла aab. Раньше я загружал APK, чтобы обновить приложение. - person Aaditya Paliwal; 18.02.2021
comment
Процесс загрузки и публикации для обоих идентичен. - person keyboardsurfer; 19.02.2021

Пакеты приложений - это формат публикации, тогда как APK (пакет приложения Android) - это формат упаковки, который в конечном итоге будет установлен на устройстве.

Google использует набор приложений для создания и обслуживания оптимизированных APK-файлов для конфигурации устройства каждого пользователя, поэтому они загружают только код и ресурсы, необходимые для запуска вашего приложения. Таким образом, пользователи могут получать меньше и больше оптимизированных загрузок.

введите описание изображения здесь

person ayoub boumzebra    schedule 01.03.2021
comment
Итак, Google не решил отказаться от формата APK, и я смогу установить любой APK в будущей версии Android, верно? У меня есть приложение для Android с открытым исходным кодом, написанное мной, и я еще не выпустил его в Play Store. - person Akhmedzianov Danilian; 18.07.2021
comment
Вам лучше начать использовать AAB, сказал Googla: Google Play начнет требовать, чтобы новые приложения публиковались с Android App Bundle, начиная с августа 2021 года. - person ayoub boumzebra; 18.07.2021
comment
Мое приложение - программное обеспечение с открытым исходным кодом без оплаты. Я не хочу распространять свое приложение в магазине Google Play, потому что не хочу платить Google. Цена не такая уж и большая, но зачем мне? Я спросил о планах Google по отказу от поддержки формата APK. - person Akhmedzianov Danilian; 19.07.2021

Ниже приведены преимущества Android App Bundle по сравнению с APK в PlayStore:

  1. Меньший размер загрузки
  2. Возможности приложения по требованию
  3. Модули только для активов
person Dr. Parag C Shukla    schedule 16.05.2020