APK против AAB (пакеты Android-приложений): все, что вам нужно знать!

По мере приближения к стабильной версии Android 12 Google вносит некоторые фундаментальные изменения в доставку и распространение приложений на устройствах Android. С августа 2021 года все новые приложения в Play Store будут публиковаться в формате Android App Bundles (.aab) вместо существующего формата APK. Итак, в чем основные различия между APK и Android App Bundle (AAB)? Можем ли мы загружать AAB-файлы так же, как APK-файлы? Чтобы ответить на все ваши вопросы, мы составили это подробное руководство по APK и AAB. Так что, не теряя времени, давайте начнем прямо сейчас.

APK против AAB (наборы приложений для Android): всестороннее сравнение

Здесь мы объяснили форматы AAB и APK простым языком, чтобы каждый мог легко понять концепцию. Мы также подробно рассказали, как устанавливать файлы AAB, извлекать APK из AAB и многое другое. Вы можете развернуть таблицу ниже, чтобы быстро перейти к любому соответствующему разделу.

APK против AAB: понимание основ

Во-первых, нам нужно понять некоторые основы, чтобы правильно понять, в чем разница между APK и Android App Bundle.

APK был распространенным пакетом приложений для Android с момента его создания. APK в основном состоит из кодов приложений, тяжелых ресурсов, таких как изображения, аудио и т. Д., И ключа подписи приложения, созданного разработчиком. Обратите внимание, что устройства Android бывают разных форм-факторов и спецификаций. Например, устройства могут иметь разную степень плотности экрана (320 точек на дюйм, 480 точек на дюйм и т. Д.), Тип процессора (ARM, ARM64, x86) и т. Д. Кроме того, в зависимости от региона пользователя приложение должно иметь языковой пакет (en, fr, ger и т. Д.).

APK против Android App Bundle (AAB): все, что вам нужно знать

В идеальной ситуации разработчик должен создать и загрузить несколько APK в Play Store в зависимости от региона пользователя, типа процессора и плотности экрана. Когда пользователь нажимает кнопку «Установить» в Play Store, на его устройство устанавливается правильный и наиболее подходящий APK. Однако все это ставит перед разработчиками огромную задачу. Им нужно не только разрабатывать приложения, но и управлять несколькими APK-файлами для поддержки множества устройств.

Чтобы избежать этой сложной и трудоемкой работы, большинство разработчиков создают универсальный APK, который поставляется со всеми ресурсами (языковыми пакетами, кодами и т. Д.), Даже если вам может не потребоваться большая его часть на этом конкретном устройстве. В результате получается громоздкий APK с большим размером приложения, который требует больше времени на установку и потребляет больше трафика.

Google хочет решить эту проблему и взять на себя большую часть этого бремени для разработчиков с помощью пакетов Android App Bundle (AAB). Это, в свою очередь, поможет уменьшить размер приложения, время установки и потребление полосы пропускания. Компания представила AAB на Google I / O 2018, и теперь, почти два года спустя, Google требует, чтобы вы отправляли новые приложения в формате AAB в Play Store.

набор приложений для Android - как это работает

По сравнению с APK, формат AAB не является полностью новым дистрибутивом. Фактически, AAB — это контейнер, в котором размещается базовый APK и несколько разделенных APK. По сути, AAB — это формат публикации, который разработчик отправляет в Play Store, а APK — это формат упаковки для приложений Android, которые вы устанавливаете на свое устройство.

Так что же здесь действительно меняется? Начиная с августа 2021 года разработчикам не нужно обрабатывать и управлять целым набором APK для широкого спектра устройств. С помощью AAB разработчики передают все в Google — код приложения, ресурсы, тяжелые ресурсы, все языковые пакеты и, самое главное, ключ подписи частного приложения. Теперь Google может создавать и предоставлять пользователям оптимизированные APK в зависимости от конфигурации их устройства. Он может создать гораздо меньший пакет AAB, который имеет компактный размер, устанавливается в мгновение ока и потребляет меньше данных для устройств низкого уровня. Это главное предложение AAB vs APK, но это еще не все.

Передача закрытого ключа подписи с Google

Глядя на то, что предлагает AAB, это кажется отличной альтернативой APK. Формат AAB уменьшает размер приложения, и разработчикам не нужно создавать несколько APK. Однако многие разработчики выразили обеспокоенность по поводу передачи закрытого ключа подписи Google.

Как я уже упоминал выше, ключ подписи — это самая важная информация для проверки целостности APK. Даже если вы загружаете APK из стороннего источника, Google Play Store проверяет ключ подписи, чтобы убедиться, что ничего не было подделано.

С помощью AAB Google требует, чтобы разработчики совместно использовали закрытый ключ подписи, чтобы Google мог сгенерировать пакет приложений и подписать AAB тем же закрытым ключом. Когда пользователи устанавливают приложение или обновляются до новой версии, Play Services будет соответствовать ключу подписи, и установка будет происходить без проблем с несоответствием ключей или ошибками подписи. При этом разработчики говорят, что это потенциально открывает двери для внедрения кода. Google утверждает, что все «ключи подписи хранятся в той же инфраструктуре, которую Google использует для хранения своих ключей». Так что будьте уверены, все ваши закрытые ключи подписи надежно защищены.
Совместное использование закрытого ключа подписиИсточник: Google

Более того, чтобы развеять опасения разработчиков, Google объявил Прозрачность кода что позволяет разработчикам генерировать отдельный закрытый ключ, который будет доступен только им. Затем из отдельного закрытого ключа разработчики могут создать дополнительную подпись, которую можно использовать для проверки целостности приложения. Однако у этого метода есть ограничение. Прозрачность кода имеет дело только с кодом, а не с активами, ресурсами или манифестом. Кроме того, это дополнительная функция, которая может оставить в стороне многих разработчиков.

Будет ли AAB усложнять работу сторонних магазинов приложений?

Еще одна проблема, возникающая при передаче закрытого ключа Google, заключается в том, что это может усложнить работу сторонних магазинов приложений. Например, если вы устанавливаете приложение из Play Store, но хотите обновить его до последней версии из другого альтернативного Play Store (например, Amazon App Store или Aptoide Store), установка может завершиться ошибкой из-за несоответствия подписи.

Это связано с тем, что Google теперь управляет закрытым ключом подписи, поэтому вы не можете использовать тот же ключ при загрузке приложения в сторонний магазин приложений Android. Вам придется использовать другой закрытый ключ, и это вызовет ошибку несоответствия закрытого ключа. Будет ли это проблемой для поддержки приложений Android в Windows 11? Придется подождать и выяснить.
Приложения для Android в Microsoft StoreПриложения для Android появятся в Microsoft Store

В остальном предположение о том, что AAB будет мешать разработчикам загружать APK в сторонние магазины приложений, кажется неверным. Google уже создал инструмент с открытым исходным кодом под названием набор инструментов что позволяет разработчикам создавать APK из пакетов AAB. Единственная проблема на данный момент заключается в том, что совместное использование закрытого ключа подписи повлияет на опытных пользователей Android.

Можно ли загружать AAB не так, как APK?

Из того, что мы знаем, похоже, что загрузка AAB на устройства Android будет возможна, но это будет не так удобно, как загрузка APK-файлов. Установщик пакетов Android в настоящее время не поддерживает формат упаковки AAB, а это означает, что установка AAB на устройстве изначально невозможна. Однако вы можете использовать сторонние установочные приложения для установки пакета AAB на устройство.

Например, в настоящее время APKMirror Installer (Бесплатно, предлагает покупку в приложении) позволяет устанавливать пакеты APKM (базовый APK + разделенные APK-файлы) с помощью приложения-установщика. Вскоре мы опубликуем подробное руководство по установке пакетов Android App Bundle на ваш телефон, так что следите за этим.

играть в магазине aab против apk

Кроме того, вы не сможете использовать adb sideload для установки AAB. Вам придется использовать открытый исходный код набор инструментов чтобы получить правильный APK, совместимый с вашим устройством. По мере того, как AAB становятся все более популярными, могут появиться новые и удобные методы загрузки неопубликованных файлов. Имейте в виду, что простая загрузка неопубликованного базового APK приведет к сбою на вашем устройстве.

APK против AAB: преимущества и недостатки

Пройдя по всем пунктам, вы можете сказать, что AAB не будут иметь большого значения с точки зрения взаимодействия с пользователем для большинства пользователей. Да, это уменьшит размер приложения, что будет полезно для большинства пользователей. Например, Airbnb уменьшил размер своего приложения на 22% после перехода с APK на AAB, тогда как Netflix уменьшил размер своего приложения на 57%. Это значительная разница в размере приложения. Кроме того, заброшенная функция мгновенного приложения получит новую жизнь с AAB на устройствах Android.

Однако для опытных пользователей, которые хотят не загружать AAB, все станет немного сложнее и неудобно. Возможно, вам придется использовать bundletool для извлечения APK-файлов для вашего устройства или использовать сторонний установщик. Следует отметить, что AAB перейдет от OBB (непрозрачный двоичный BLOB-объект) для загрузки больших активов и ресурсов. Вместо этого он будет использовать Play Asset Delivery или Play Feature Delivery для загрузки тяжелых ресурсов с размером загрузки 150 МБ или выше. Нам нужно будет посмотреть, как это повлияет на игры с боковой загрузкой, такие как Battlegrounds Mobile India, PUBG Mobile, FAU-G и другие.

Преимущества и недостатки пакетов Android App Bundle по сравнению с APK

Что касается разработчиков, которые больше всего пострадали от этого изменения, им не нужно реорганизовывать свой код, и это здорово. AAB также привносят модульность, что означает, что они могут изменять фрагмент кода и объединять его с основной базой, не сталкиваясь с многочисленными конфликтами слияния. Одним из больших преимуществ AAB является то, что он предоставляет разработчикам возможности настройки. Они могут выбрать, на какой уровень API нацеливаться или какой тип устройства поддерживать. Разработчики также могут решить, какие функции будут доступны для конкретного типа устройства или смартфонов, работающих на минимальной версии SDK.

Что касается недостатков, то суть проблемы заключается в том, чтобы поделиться закрытым ключом, которым теперь будет управлять Google. Несовместимость со сторонними магазинами приложений может быть еще одной большой проблемой, и разработчикам придется приложить дополнительные усилия, чтобы публиковать APK-файлы и управлять ими (прямо сейчас, как Play Store) в других магазинах приложений.

APK против AAB (наборы приложений для Android): что вы думаете?

Для меня самая большая проблема с этим изменением — это чрезмерная зависимость от Google. Этим изменением гигант из Маунтин-Вью делает все, чтобы Play Store оставался де-факто магазином приложений на устройствах Android. Теперь Google контролирует все аспекты публикации и распространения приложений на Android, от размещения приложений до управления закрытыми ключами. Разработчики могут быть довольны новыми изменениями, поскольку им больше не нужно управлять несколькими APK, но как это повлияет на пользователей в долгосрочной перспективе? Мы пока не знаем. Когда разработчики передадут контроль Google, принесет ли это хорошие изменения? Придется подождать и посмотреть. Во всяком случае, это все от нас. Но расскажите нам, что вы думаете об этой дискуссии об APK и AAB, в разделе комментариев ниже.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *