Популярно, доступно, полезно

Практическое руководство по Android App Bundle для начинающих


Что же это такое?

Android App Bundle — это формат публикации приложений Google, который поддерживает загрузку частей вашего приложения только в случае необходимости. Это гораздо лучшая альтернатива созданию единого универсального APK для вашего приложения, и все это без рефакторинга кода!😉

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

Следовательно, приводя к меньшему размеру приложения!

В этой статье я расскажу, как привести ваш проект к такому формату.

Преимущества использования App Bundle

  • Меньший размер приложения — меньший размер APK означает, что пользователи получают ваше приложение загружая меньший объем данных!
  • Нет больше нескольких APK. Вам больше не нужно управлять несколькими APK! Консоль Google Play берет на себя создание и подпись APK для вас.
  • Динамические функциональные модули. Функции приложения загружаются только тогда, когда нужны пользователю, то есть по требованию. Эти функции должны присутствовать как разные модули в проекте вашего приложения.
  • Мгновенное включение (в ближайшее время). Пользователи могут мгновенно запускать ваше приложение без установки, по ссылке.

Итак, приступим…

Пожалуйста, обратите внимание, что App Bundle требует Android Studio 3.2 или выше. На момент написания этой статьи последней бета-версией был Android Studio 3.2 Beta 5, поэтому я собираюсь использовать плагин для Gradle 3.2.0-beta05 для этой статьи.

Мы создадим бандл для приложения с базовым модулем (app по умолчанию) и двумя функциональными модулями, которые мы будем загружать динамически (feature1 и feature2). Модули будут содержать функции, которые мы не хотим включать в базовую версию нашего приложения, т.е. пользователь будет загружать их только по мере необходимости.

Вот как получение модулей будет выглядеть для пользователя:

Схема доставки модулей

Создаем первый бандл

Шаг 1:

Изменяем файл build.gradle нашего модуля app.

Шаг 2:

Чтобы создать модуль feature1, переходим в File> New> New Module в Android Studio.

Далее выбираем Dynamic Feature Module (модуль динамических функций), который отображается в диалоговом окне, и нажимаем Next.

Следующие шаги:

  • Выберите модуль app в качестве Base application module
  • Укажите feature1 в качестве Module Name
  • Укажите package name(имя пакета) и Minimum API Level(минимальный уровень API) для модуля feature1, а затем нажмите Next.

В разделе Configure On-Demand Options(Настройка параметров по требованию):

  • Укажите Module title(заголовок модуля) как «Feature 1»
  • Установите флажки Enable on-demand и Fusing

Затем нажмите «Готово».

Создание модулей

Файл манифеста feature1 должен иметь следующее содержимое после добавления к нему Activity:

И файл build.gradle для feature1 должен иметь код ниже в первой строке, так как это динамическая функция:

apply plugin: 'com.android.dynamic-feature'

Для feature2 нужно повторить предыдущие 2 шага

Шаг 3:

Вернитесь к файлу build.gradle вашего приложения и проверьте, объявлены ли динамические функции как показано ниже:

Шаг 4:

Теперь перейдите в файлы build.gradle модулей feature1 и feature2 и проверьте, добавлен ли модуль app в качестве зависимости.

Шаг 5:

Давайте напишем код в модуле app для загрузки модуля feature1, когда он потребуется.
Добавьте следующие зависимости в build.gradle модуля app

implementation 'com.google.android.play:core:1.3.4'

В Activity/Fragment, в котором нужно загружать динамическую функцию по требованию, напишите следующий код:

Повторите тоже самое для feature2 там, где это требуется

Шаг 6:

Под капотом Android Studio, Gradle и Google Play используют инструмент под названием bundletool для создания App Bundle, который также доступен как инструмент командной строки.

Чтобы создать отладочную версию вашего App Bundle:

Нажмите «Build> Build Bundle (s) / APK (s)> Build Bundle (s), или вы можете сделать это через командную строку следующим образом:

./gradlew :base:bundleDebug
Версия App Bundle для отладки

Пакет можно найти по адресу: project-name / app / build / output / bundle /

Чтобы создать подписанную, release-версию вашего App Bundle для загрузки в консоль Google Play:

  1. Нажмите Build > Generate Signed Bundle/APK, затем выберете Android App Bundle и нажмите Далее.
  2. Затем выберете модуль app из раскрывающегося списка Module 🔽, который является базовым модулем, для которого создан App Bundle
  3. Введите данные своего ключа после выбора хранилища ключей, как обычно, при подписывании APK. На этом этапе я рекомендую проверить флажок Export encrypted key(Экспорт зашифрованного ключа) ☑️. Позже нужно будет загрузить этот зашифрованный файл-ключ в Google Play Console. Нажмите Далее в конце.
  4. Выберетем Destination Folder(папку назначения) и release в Build Types(типах сборки) и все Flavors, для которых вы хотите создать свой App Bundle, а затем нажмите кнопку Finish
Сборка подписанной версии release

Загрузка в Google Play Console

Как только вы получите доступ,то сможете опубликовать свой бандл как рабочий вариант!

…Вот и все» Вы закончили создавать ваш первый App Bundle

Перевод статьи «A Practical Guide To Android App Bundle For Beginners»

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

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