- Заметки из Зазеркалья
- Переход на сборку Android App Bundle в сборщике мобильных приложений и публикацию в магазине Google Play
- Перевод существующей публикации на сборку Android App Bundle
- Шаг 1. Зарегистрируйтесь в сервисе подписания приложений Google Play
- Шаг 2. Отправьте оригинальный ключ подписи приложения в Google
- Шаг 3. Создайте ключ загрузки
- Шаг 4. Завершите регистрацию в сервисе подписания приложений Google Play
- Шаг 5. Соберите мобильное приложение и отправьте его в Google Play с помощью ключа загрузки
- Создание публикации нового приложения
- Шаг 1. Создайте ключ загрузки и соберите приложение
- Шаг 2. Подготовьте выпуск
- Что такое Android App Bundle и в чём его отличие от APK
- Как установить Android App Bundle
- Чем Android App Bundle лучше APK
- Google прощается с APK: приложения Android переходят на новый формат (и это проблема для Windows 11)
- С августа все новые приложения в Google Play должны публиковаться в формате AAB
- Новый способ публикации приложений с помощью Android App Bundle
- Формат Android App Bundle
- Сборка App Bundle с помощью Android Studio
- Загрузка App Bundle в консоль Google Play
- Анализ APK с помощью проводника
- Обновление приложения
- Заключение
Заметки из Зазеркалья
Внимание! С августа 2021 года публиковать новые приложения в Google Play можно будет только в виде Android App Bundle (AAB).
Android App Bundle (AAB) — это новый официальный формат публикации Android, который предлагает более эффективный способ создания и выпуска вашего приложения.
Android App Bundle включает в себя весь скомпилированный код и ресурсы вашего приложения, а также перекладывает создание APK и подписки на Google Play. Конечные APK-файлы под конкретные устройства и архитектуры процессоров в этом случае магазин собирает сам. В случае необходимости их можно будет получить потом из консоли разработчика. Пакет Android App Bundle позволяет упростить работу по сборке приложения меньшего размера, что может повысить успешность установки и сократить количество удалений. Пакет имеет расширение файла «.aab».
Магазин уже больше года принимает приложения для загрузки в формате AAB и теперь начинается постепенный отказ от публикации приложений в формате APK, который используется для установки приложений на устройство.
Переходить на новую мобильную платформу 8.3.19 сейчас нет никакой срочности, если вы не планируете выпускать новое приложение в магазине. Обновлять в формате APК существующие приложения можно будет в течение нескольких месяцев и после августа 2021.
Следите за сообщениями от Google.
Сборщик мобильных приложений подготовлен для сборки нового формата. В новой версии разработчику необходимо создать ключ загрузки в настройках поставщика и собрать приложение в новом формате на мобильной платформе версии 8.3.19.52 и выше.
Также исправлен и описан процесс автоматической загрузки результатов сборки приложения как в формате APK, так и в формате AAB.
В документации по сборщику мобильных приложений можно найти новую информацию по ключам подписи и загрузки в настройках поставщика, о сборке приложения в новом формате и об автоматической загрузке приложения в магазин Google Play:
Справка Google по публикации приложений в магазине:
Переход на сборку Android App Bundle в сборщике мобильных приложений и публикацию в магазине Google Play
Прежде всего, обновите сборщик мобильных приложений на версию из последних дистрибутивов мобильной платформы 8.3.19.
После этого загрузите в него непосредственно дистрибутив мобильной платформы 8.3.19. Именно в такой последовательности.
В противном случае старый сборщик может неправильно загрузить в базу новый дистрибутив, что потенциально приведет к ошибкам сборки.
Перевод существующей публикации на сборку Android App Bundle
Шаг 1. Зарегистрируйтесь в сервисе подписания приложений Google Play
1. Откройте Play Console.
2. Выберите приложение.
3. В меню слева нажмите «Выпуск» — «Настройка» — «Целостность приложения«.
После этого будет открыта «Программа подписания приложений».
Шаг 2. Отправьте оригинальный ключ подписи приложения в Google
1. В «Программе подписания приложений» выберите «Экспортировать и загрузить ключ из Java Keystore«.
2. Оригинальный ключ подписи приложения следует выгрузить в сборщике мобильных приложений:
В меню «Сервис» — «Настройка параметров поставщика» откройте вкладку «Параметры для ОС Android» и в группе «Ключ подписи приложений» нажмите ссылку «Экспорт закрытого ключа«.
3. Полученный файл с расширением «.pepk» загрузите на странице «Программа подписания приложений» в Play Console.
Внимание! Не рекомендуется создавать ключ подписи в магазине Google Play, поскольку его нельзя получить из магазина и использовать в сборщике мобильных приложений.
Внимание! Включение автоматической подписки приложения распространяется на весь срок действия вашего приложения.
В целях обеспечения безопасности после регистрации в программе подписания вы не сможете получить копию ключа подписи вашего приложения и не сможете удалить его с серверов Google, не удалив само приложение.
Шаг 3. Создайте ключ загрузки
1. Создайте ключ загрузки:
1) В сборщике мобильных приложений в меню «Сервис» выберите команду «Настройка параметров поставщика«.
2) Откройте вкладку «Параметры для ОС Android» и в группе «Ключ загрузки приложения» нажмите ссылку «Экспорт сертификата ключа«.
2. Полученный файл с расширением «.pem» загрузите в Play Console в «Программе подписания приложений«, там же, где загружали ключ подписи.
В качестве ключа загрузки можно также использовать ключ подписи приложения, но этот способ не рекомендуется, т.к. является менее безопасным.
Внимание! Если вы потеряете свой ключ загрузки или если он будет скомпрометирован, то чтобы отозвать свой старый ключ загрузки и сгенерировать новый, следует связаться с техподдержкой Google.
Поскольку ключ подписи вашего приложения защищен Google, вы можете продолжать загружать новые версии своего приложения в качестве обновлений исходного приложения, даже если вы измените ключи загрузки.
Шаг 4. Завершите регистрацию в сервисе подписания приложений Google Play
1. В программе подписания в магазине нажмите кнопку «Сохранить«.
2. Далее следует принять «Условия использования«.
После этого обновления приложения можно загружать в магазин Google Play только в формате AAB (Android App Bundle).
Шаг 5. Соберите мобильное приложение и отправьте его в Google Play с помощью ключа загрузки
1. В новом сборщике мобильных приложений, в карточке приложения на закладке «Для ОС Android» для отправки приложения в магазин Google Play следует выбрать результат сборки приложения (APK, AAB или собирать все).
Выберите «Все варианты результирующих файлов» или «Только aab-файл (пакет для магазина)«.
2. Сборщик соберет пакет для магазина и подпишет его ключом загрузки.
3. Собранный AAB-файла опубликуйте в магазине.
4. Подготовьте и разверните выпуск вашего приложения в магазине.
Создание публикации нового приложения
Шаг 1. Создайте ключ загрузки и соберите приложение
1. Если еще не создали, то создайте ключ загрузки в настройках поставщика на закладке «Параметры для ОС Android» в сборщике мобильных приложений.
2. Соберите приложение в формате AAB.
Шаг 2. Подготовьте выпуск
1. Подготовьте и внедрите выпуск приложения в магазине Google Play, следуя инструкциям магазина.
2. Выбрав тип версии (закрытая, альфа, бета и т.д.), настройте параметры подписания приложений в разделе «Разрешите Google защищать ключ подписи приложения и управлять им«.
3. Выберите «Экспортировать и загрузить ключ из Java Keystore«.
4. Найдите оригинальный ключ подписи приложения. Его можно выгрузить из настроек поставщика на закладке «Параметры для ОС Android» в сборщике мобильных приложений с помощью команды «Экспорт закрытого ключа«.
5. Полученный файл с расширением «.pepk» загрузите в магазин.
6. Найдите оригинальный ключ загрузки. Его можно выгрузить из настроек поставщика на закладке «Параметры для ОС Android» в сборщике мобильных приложений с помощью команды «Экспорт сертификата«.
7. Полученный файл с расширением «.pem» загрузите в магазин в «Программу подписания приложений» там же, где загружали ключ подписи.
8. Выберите «Обновить».
9. Чтобы продолжить, нужно принять Условия использования и зарегистрироваться в сервисе подписания приложений.
10. Собранный AAB-файл выгрузите из сборщика и опубликуйте в магазине, в созданном выпуске.
Источник
Что такое Android App Bundle и в чём его отличие от APK
Наверное, все знают, что APK – это формат, в котором приложения для Android размещаются в Google Play и на сторонних платформах. Но если при загрузке из официального каталога установка происходит автоматически, и пользователь никак не взаимодействует с установочным файлом, то при использовании альтернативных площадок, всё происходит несколько иначе. Сначала вы скачиваете сам APK-файл и уже вручную его устанавливаете. Но некоторое время назад на альтернативных платформах, помимо привычных APK-файлов, стали появляться какие-то Android App Bundles. Разбираемся, что это и зачем вообще нужно.
Android App Bundle — это как APK, только лучше
Android App Bundle – это новый, так называемый «пакетный», формат приложений для Android. В отличие от APK, которые для успешной установки должны соответствовать параметрам смартфона, на который их устанавливают, AAB – это универсальный формат, который уже содержит в себе сведения обо всех устройствах и разных сочетаниях железа сразу.
Если вы откроете APKMirror – пожалуй, самый популярный альтернативный сайт с приложениями, — и перейдёте на страницу любого приложения, то увидите, что у него есть несколько разных версий APK. Каждая из них соответствует смартфонам с определёнными особенностями. Обычно это версия Android, тип процессора или показатель DPI, но бывают и другие.
Как установить Android App Bundle
Посмотрите, сколько APK-файлов у Instagram. Их все заменяет один пакет AAB
Android App Bundle представлены только в единственном экземпляре. Потому что они изначально созданы универсальными и совместимыми с различными устройствами, независимо от сочетаний их аппаратного обеспечения и технических характеристик. При установке пакет сам выдаст смартфону подходящий установочный файл, и тот его установит.
Что такое Camera2 API, зачем это нужно и как узнать, поддерживает ли её ваш смартфон
Поскольку Android App Bundle – это пакет различных компонентов, то они поставляются не в виде целостного файла, а в виде ZIP-архива. Это несёт как минимум одно существенное ограничение – AAB нельзя установить так же просто, как обычные APK-файлы просто по нажатию. С AAB это не прокатывает. Поэтому для их установки необходим специальный клиент, который всё распакует и установит вам на устройство.
Я для этой цели пользуюсь клиентом APKMirror. С ним установка Android App Bundle выглядит вот так:
- Скачайте установщик APKMirror по этой ссылке (один раз);
- Найдите и скачайте приложение в формате Android App Bundle;
Установить AAB как обычный APK-файл нельзя
- Нажмите на архив и откройте его с помощью APKMirror;
- Следуйте инструкциям, которые установщик выведет на экран.
Чем Android App Bundle лучше APK
Несмотря на то что что пакет AAB содержит базовый APK-файл, даже распаковав архив вручную, вы всё равно не сможете его установить. Дело в том, что пакет обычно включает в себя ещё ряд дополнительных компонентов, которые необходимы приложению для нормальной установки. Поэтому тут строго обязательно нужно-приложение установщик, которое работает со сторонними AAB. Так что Google Play для этой роли точно не годится.
В августе 2021 года Google полностью переходит на формат AAB
Может показаться, что всё это слишком сложно и запоминать всю последовательность действий, описанных выше, не имеет смысла. Однако это большое заблуждение, потому что уже в августе 2021 года Google откажется от использования классических APK. То есть все новые приложения и те, которые обновятся к тому времени, уже не будут иметь выделенных APK, а будут представлены на сторонних площадках только в виде AAB.
Google настаивает на использовании Android App Bundle, потому что они, несмотря на универсальность, более легковесны, чем классические APK, и их легче поддерживать. Формат AAB позволяет разработчикам создать только одну сборку приложения, которую будет проще обновлять, контролировать и совершенствовать. Так что учитесь работать с «бандлами», иначе останетесь без стороннего ПО.
Источник
Google прощается с APK: приложения Android переходят на новый формат (и это проблема для Windows 11)
С августа все новые приложения в Google Play должны публиковаться в формате AAB
Компания Google объявила о радикальном изменении для пользователей и разработчиков приложений Android, которое может оказать огромное влияние на экосистему Android в целом.
На данный момент стандартным форматом публикации приложений в онлайн-магазине Google Play Store является APK. Начиная с августа 2021 года Google потребует, чтобы все новые приложения Google Play публиковались с использованием нового формата — Android App Bundle, или AAB.
Как обещает Google, формат Android App Bundle сделает приложения в среднем на 15% меньше, чем при использовании APK. Такие приложения будут быстрее загружаться и обеспечат лучшую безопасность.
При всех плюсах нового формата подобный шаг Google наносит удар по Microsoft, которая на днях выпустила первую тестовую сборку операционной системы Windows 11. Дело в том, что одной из особенностей Windows 11 стала встроенная поддержка приложений Android. И было заявлено, что пользователи смогут устанавливать на свой ПК любые приложения Android в формате APK. При этом через магазин приложений Amazon будет доступна загрузка далеко не всех приложений.
Переход Google на App Bundles может означать, что для пользователей Windows 11 ассортимент приложений Android окажется достаточно ограниченным.
Впрочем, требование использовать Android App Bundle в обязательном порядке распространяется только на новые приложения и, согласно Google, существующие приложения пока могут использовать APK, так же как и частные приложения, публикуемые в Google Play, но не выложенные в общий доступ.
Источник
Новый способ публикации приложений с помощью Android App Bundle
На недавно прошедшей Google I/O 2018, среди множества нововведений, объявили также о добавлении нового формата приложений.
Этот формат получил название Android App Bundle и представляет собой улучшенный способ сборки вашего приложения. С его помощью можно легко оптимизировать размер приложения, при этом не нужно будет вносить какие-либо изменения в код. Android App Bundle включает весь скомпилированный код и ресурсы, отсеивая затем то, что не нужно конкретному устройству.
Важно! На данный момент Android App Bundle работает только в preview-версии Android Studio. Последняя версия Android Studio 3.2 Canary доступна здесь.
Формат Android App Bundle
Android App Bundle представляет собой файл (с расширением .aab), который загружается в Google. Каждый бандл включает скомпилированный код и ресурсы для всех модулей приложения и поддерживаемых конфигураций устройств.
Проще говоря, бандлы это подписанные ZIP-файлы, которые упорядочивают код и ресурсы приложения в модули.
Из этих модулей Google Play генерирует различные APK, которые предоставляются пользователям, такие как: базовые APK, dynamic feature APK, конфигурационные APK и (для устройств, которые не поддерживают разделённые APK) мульти-APK. Каталоги, окрашенные в синий цвет, представляют собой код и ресурсы, которые Google Play использует для создания конфигурационного APK для каждого модуля.
Примечание: бандл нужно создавать для каждого уникального приложения или applicationID. То есть, если вы используете несколько product flavor в своём приложении для создания различных APK, и каждая из этих веток использует уникальный applicationID, то вам нужно будет создать отдельный бандл для каждой ветки.
Код и ресурсы для каждого модуля организованы аналогично стандартным APK, и это логично, поскольку каждый из этих модулей может быть сгенерирован как отдельный APK. Ниже можно увидеть более подробное описание некоторых файлов и каталогов Android App Bundle:
- base/, feature1/, feature2/. Каждый из этих каталогов представляет собой модуль приложения. Базовый модуль приложения всегда содержится в базовом каталоге бандла. Директории же с дополнительными особенностями, каждой из которых присваивается специальное имя, находятся отдельно.
- файлы Protocol Buffer (.pb). Эти файлы содержат метаданные, которые помогают описать содержимое бандла в магазинах приложений. Например, BundleConfig.pb, находящийся в корневом каталоге бандла, предоставляет информацию о самом бандле, например, какая версия build tools используется для сборки. Другие файлы, такие как recourse.pb и native.pb, описывают, как определённый код и ресурсы должны использоваться для различных конфигураций устройств. Google Play использует эту информацию для генерации APK, оптимизированного для устройства пользователя.
- manifest/. В отличие от APK, бандлы хранят файл AndroidManifest.xml каждого модуля в отдельном каталоге.
- dex/. В отличие от APK, бандлы хранят DEX-файлы каждого модуля в отдельном каталоге.
- root/. Этот каталог хранит файлы, которые позже перемещаются в директорию root любого APK, который включает в себя модуль, в котором находится этот каталог. Например, каталог base/root/ бандла может включать ресурсы Java, которые загружаются приложением с помощью использования Class.getResources(). Эти файлы позже перемещаются в директорию root APK приложения и каждого мульти-APK, которые генерирует Google Play. Пути в этом каталоге также сохраняются, то есть, подкаталоги тоже перемещаются вместе с root.
Примечание: если содержимое этого каталога конфликтует с другими файлами и каталогами в корне APK, Play Console отклонит загрузку бандла. Например, вы не сможете включить каталог root/lib/, поскольку он будет конфликтовать с каталогом lib, уже находящимся в APK. - res/, lib/, assets/. Эти каталоги идентичны тем, что используются в стандартном APK. При загрузке приложения, Google Play проверяет в этих каталогах и пакетах только те файлы, которые соответствуют конфигурации целевого устройства.
Сборка App Bundle с помощью Android Studio
Создание бандла с помощью Android Studio очень похоже на создание APK. Для сборки достаточно выбрать в меню Build — Build Bundle(s)/APK(s) > Build Bundle(s) и IDE создаст бандл для выбранного варианта сборки и разместит его в каталоге
Если создаётся бандл для debug-версии приложения, Android Studio автоматически подпишет бандл с помощью отладочного ключа подписи. Для загрузки бандла в Google Play он должен быть подписан.
После того, как Android Studio завершит создание подписанного бандла, его можно будет открыть и проанализировать. Анализ бандла позволяет проверить содержимое и работает аналогично APK Analyzer.
Для создания App Bundle IDE использует тот же инструмент с открытыми исходным кодом, называемый bundletool, который Google Play использует для последующего преобразования бандла в подписанные APK.
Прежде чем загрузить бандл в консоль Google Play, его нужно подписать. Чтобы создать подписанный App Bundle, нужно выполнить следующие действия:
- Выбрать в меню Build — Generate Signed Bundle/APK.
- В появившемся диалоге выбрать Android App Bundle и нажать Next.
- В выпадающем списке выбрать модуль, для которого требуется создать бандл, после чего нажать Next.
- Предоставить информацию о созданном ключе подписи либо создание нового ключа подписи. Вы можете использовать те же ключи, которые используете для генерации подписи APK.
- Если вы хотите, чтобы Android Studio также сохранила ключ подписи в виде зашифрованного файла, то нужно поставить флажок Export encrypted key. Чтобы иметь возможность загружать бандл, необходимо также загрузить этот зашифрованный файл в консоль Google Play и зарегистрировать подписку приложения с помощью Google Play.
- Нажать Next.
- Выбрать папку назначения для бандла, тип сборки и product flavor проекта.
- Нажать Finish.
После того, как Android Studio завершит создание подписанного бандла, его можно будет найти и проанализировать, выбрав соответствующую опцию во всплывающем уведомлении. Если был выбран экспорт ключа подписи, то к нему можно будет быстро перейти, щёлкнув по стрелке вниз в правом нижнем углу всплывающего уведомления, чтобы развернуть его, и затем выбрав Show Exported Key File.
Загрузка App Bundle в консоль Google Play
После того, как бандл создан, его можно загрузить в Google Play для проверки, тестирования или публикации приложения. Прежде чем приступить к работе, следует соблюсти следующие условия:
- Зарегистрироваться в программе Google Play App Signing.
- Если приложение включает dynamic feature modules, то его можно загружать и тестировать через внутренний тестовый трек консоли Google Play. Однако чтобы опубликовать приложение, нужно принять программу Dynamic Feature, которая на данный момент находится в стадии бета-версии.
- Google Play поддерживает загрузку приложений размером не более 100 МБ.
Анализ APK с помощью проводника
Когда бандл загружен, Google Play автоматически генерирует разделённые APK и мульти-APK для всех конфигураций устройств, поддерживаемых приложением. В Play Console можно можно использовать App Bundle Explorer для просмотра всех вариантов APK, сгенерированных Google Play; анализа данных, таких как поддерживаемые устройства и экономия размера APK; загрузки созданных APK для тестирования.
Обновление приложения
После загрузки приложения в Play Console, для обновления приложения достаточно повысить код версии, а также создать и загрузить новый бандл. Затем Google Play сгенерирует обновлённые APK с новым кодом версии и будет предоставлять их по мере необходимости.
Заключение
Использование Android App Bundle даёт большие преимущества для оптимизации APK приложений. С помощью этого способа мы обновили одно из наших приложений, «Менеджер паролей от Wi-Fi сетей«, заменив в нём стандартный APK на App Bundle. Таким образом, размер APK файлов уменьшился на целый мегабайт, что является очень хорошим результатом.
Кроме того, Google на данный момент тестирует дополнение к App Bundle, Dynamic feature modules, с помощью которого можно разбивать базовый APK на части, которые будут докачиваться при необходимости, пока что эта технология находится в бета-версии.
Возможно, единственным недостатком банлдов на данный момент назвать необходимость использовать preview-версию Android Studio, однако эта проблема временная.
Источник