
В последние годы Google работает над уменьшением размера Android-приложений. В результате этого изменения процесс установки (sideloading) Android APK в обход Play Store может потребовать дополнительного шага.
Google анонсировала Android App Bundle (AAB) на I/O 2018 и сделала его форматом по умолчанию для новых приложений в 2021 году. Разработчики создают свои приложения в виде этих пакетов, которые содержат различные файлы для разнообразных размеров экрана, языков, архитектур процессора и версий Android. Вместо загрузки полных пакетов Google Play загружает только те части, которые необходимы для оптимальной работы приложений на конкретном устройстве, экономя место на диске. Самое главное, Google Play автоматически обрабатывает все это после загрузки AAB.
Хотя большинство приложений доставлялись на устройства оптимизированным способом, Google Play также мог создавать полноразмерные универсальные APK из файлов AAB. Эти файлы были удобны для обмена приложениями/обновлениями с другими, как локально, так и через сервисы вроде APKMirror.
Как сообщил сегодня Артем Руссковский с APKMirror, «Google внезапно прекратил генерацию fat APK для многих приложений, и отныне будут доступны только пакеты».
«Fat APK» были стандартом до появления Android App Bundles. Google объяснил различие в 2018 году так:
…вы можете создавать и версионировать несколько APK для каждой конфигурации устройства в рамках одного выпуска. Это быстро выходит из-под контроля, когда вы хотите оптимизировать размер экрана, архитектуру процессора, ориентироваться как на 32-бит, так и на 64-бит и так далее. В итоге вы можете создавать сотни APK для каждого выпуска. Это неудобно, и большинство разработчиков этого не делают. Многие просто помещают всё в один «fat» APK, и пользователи в итоге получают неиспользуемый, дублирующийся контент на своем устройстве.
Для пользователей, которые устанавливают приложения только из Play Store, это не имеет никакого значения.
Однако, fat APK важны, когда пользователи извлекают приложение (например, новую версию/обновление) со своего устройства и загружают этот файл на такие сервисы, как APKMirror. Другие могут скачать и просто установить fat APK — используя системный установщик пакетов Android — без необходимости каких-либо других инструментов.
Для установки пакетов требуются такие инструменты, как APKMirror Installer и Split APKs Installer (SAI), или ADB.
На практике это вводит один дополнительный шаг при установке приложений с этих сайтов. В целом, это не самая большая проблема.
Судя по собственным приложениям Google на APKMirror (которые предлагают пакеты в виде файлов .apkm), люди по-прежнему сталкиваются с fat APK. Однако это не относится к более новым приложениям, особенно от сторонних разработчиков.
Хотя извлечение APK для загрузки на сторонние сервисы не является обязательным условием для Play Store, Google осведомлен о проблеме:
Частичная установка приложений, установленных в обход Google Play Store и не имеющих одного или нескольких необходимых разделенных APK, завершается с ошибкой на всех сертифицированных Google устройствах и устройствах под управлением Android 10 (API уровня 29) или выше. При загрузке вашего приложения через Google Play Store Google гарантирует установку всех необходимых компонентов приложения.
Сам Android не вносит изменений в процесс установки приложений в обход магазина. Разработчики, распространяющие приложения вне Play Store, по-прежнему могут предлагать fat APK.
Кайл Брэдшоу внес вклад в эту статью