- Что такое Android App Bundle и в чём его отличие от APK
- Как установить Android App Bundle
- Чем Android App Bundle лучше APK
- Что такое Android App Bundle (AAB)
- Что такое Android App Bundle
- Каковы преимущества AAB
- Заменят ли App Bundles файлы APK
- Урок 15. Передача данных между экранами — пунктами назначения. Android Navigation. Bundle vs Safe Args
- На этом уроке
- Передача данных между экранами
- Bundle или Safe Args?
- Создаем проект
- Создаем граф навигации
- Добавляем пункты назначения – фрагменты
- Отличие Android App Bundle (.aab) от APK файла
- Что такое Android App Bundle (.aab)
- Чем APK отличается от Android App Bundle (.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 позволяет разработчикам создать только одну сборку приложения, которую будет проще обновлять, контролировать и совершенствовать. Так что учитесь работать с «бандлами», иначе останетесь без стороннего ПО.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Несмотря на то что все уже давным-давно перешли в мессенджеры, ключевая информация от банков, магазинов, служб доставки и других организаций мы всё равно получаем по SMS. Причём в большинстве случае мы даже не подписываемся на эти рассылки. Нас на них просто подписывают без нашего ведома, чем и пользуются разного рода мошенники и спамеры, действуя вразрез с законом о персональных данных. Так что нет ничего удивительного, что от большей части рассылок мы бы хотели отказаться. Рассказываю, как это сделать правильно и как, наоборот, делать не нужно.
Еще каких-то 10 лет назад Google пестрил запросами, в которых пользователи искали мобильные версии популярных приложений. Ими были Instagram или VK для Symbian, Foursquare и прочие модные на тот момент программы. Теперь многие приложения в первую очередь портируют на мобильные устройства — смартфоны стали популярнее ноутбуков и ПК, между ними находится пропасть, в которой застряли планшеты. Однако Desktop-версии приложений очень удобны. Например, авторам AndroidInsider.ru, которые не представляют жизни без ноутбука, сподручнее открыть мессенджеры в одном месте, чтобы своевременно почитывать Telegram-чат. Однако WhatsApp Desktop явно не стоит пользоваться на ПК.
Несмотря на то что современные смартфоны уже давно оснащаются продвинутыми инструментами защиты от посторонних, это не даёт стопроцентной гарантии от несанкционированного доступа. Ведь биометрия – это всего-навсего ширма, которую легко подвинуть, подобрав пароль. Так что полагаться на имеющиеся способы обеспечения безопасности целиком и полностью несколько опрометчиво. Всё-таки зачастую наши смартфоны хранят в себе кучу личной информации, разглашение которой крайне нежелательно. Поэтому Google добавила в «Google Фото» крутой инструмент защиты.
Источник
Что такое Android App Bundle (AAB)
Возможно, Вы слышали термин «APK». Однако все более распространенным становится новый термин «Android App Bundle» (AAB). Так что же такое AAB и заменит ли он APK?
Что такое Android App Bundle
Начиная с августа 2021 года, Google будет требовать, чтобы все приложения Android, опубликованные в Play Store, использовали формат «Android App Bundle». Раньше приложения могли использовать формат AAB или старый формат APK.
Так что же такое Android App Bundle и чем он отличается от APK? APK (Android App Package) — это, по сути, файл .ZIP, который включает в себя все файлы и коды, необходимые для запуска приложения. Ваше устройство загружает все эти ресурсы независимо от того, нужны они ему или нет.
AAB имеет все те же ресурсы, но также включает компоненты, называемые «Динамические функции» и «Пакеты активов». Преимущества этих функций заставляют Google отказываться от APK в пользу AAB.
Проще говоря, App Bundle включает в себя все компоненты для создания APK. Когда Вы загружаете App Bundle из Play Store, он создает APK, предназначенный для Вашего конкретного устройства.
Каковы преимущества AAB
Android App Bundle имеют несколько преимуществ. Прежде всего, AAB создают APK-файлы меньшего размера. Поскольку Bundle создает приложение специально для Вашего устройства, могут потребоваться не все компоненты, что приведет к уменьшению размеров файлов.
Также не все эти компоненты нужно загружать заранее. Концепция «динамической доставки» означает, что Вы изначально получаете приложение, которое может загружать и устанавливать новые функции по мере необходимости. Поэтому, если Вы никогда не используете определенные функции, они не загружаются на Ваше устройство.
Короче говоря, преимущество AAB в том, что они просто более гибкие и динамичные. Меньшие размеры файлов, более простая предварительная загрузка и предоставление компонентов по мере необходимости делают APK-файлы более разумными.
Заменят ли App Bundles файлы APK
Когда Google объявил, что для Play Store потребуются пакеты Android App Bundle вместо APK, возникло общее недоразумение: означает ли это, что Вы больше не сможете устанавливать APK на свое устройство? Ответ — нет.
Фактически, как объяснялось в разделе выше, App Bundle создают APK-файлы. APK — это то, что запускает Android, но AAB — это то, что разработчик загружает в Play Store.
App Bundles могут заменять APK-файлы в Play Store, но не на самих устройствах Android. Вы по-прежнему можете загружать APK-файлы на свое устройство, как всегда. Фактически, Вы также можете загружать неопубликованные файлы AAB. Будьте уверены, что это всего лишь изменение в Play Store, а не в том, как ОС Android работает с файлами приложений.
Источник
Урок 15. Передача данных между экранами — пунктами назначения. Android Navigation. Bundle vs Safe Args
Продолжаем серию уроков по разработке android-приложений в Android Studio на языке Kotlin.
На прошлом уроке мы выполняли навигацию по условию, авторизован пользователь или нет.
На этом уроке
На этом уроке рассмотрим возможности передачи данных между экранами – пунктами назначения навигации в андроид-приложении. Создадим приложение с двумя экранами. На первом экране будет поле для ввода имени и кнопка отправки, а на втором экране будет отображаться приветствие с именем, которое мы указали. Таким образом, мы передадим данные (имя) с первого экрана на второй.
Передача данных между экранами
В процессе работы приложения часто возникает необходимость передавать данные между экранами. В уроке №5 мы рассматривали возможность передачи данных между активити с помощью интента. Для передачи данных между фрагментами такой способ не подходит, поскольку часто фрагменты отображаются в одном и том же активити.
Bundle или Safe Args?
В этом уроке мы рассмотрим два способа передачи данных между фрагментами: традиционный – с помощью наборов данных Bundle и типобезопасный – при помощи безопасных аргументов SafeArgs. Первый способ относительно прост – создаем набор данных «ключ-значение» типа Bundle и передаем через action в первом фрагменте, и извлекаем во втором фрагменте.
Второй способ потребует немного больше кода. На первый взгляд он может показаться сложнее, поскольку используется кодогенерация – среда разработки создает необходимые классы вместо вас. Но мы попробуем разобраться и вы увидите, что ничего особо сложного там нет. По сути, SafeArgs – просто обертка над Bundle. Тем не менее, разработчики настоятельно рекомендуют применять именно SafeArgs, как типобезопасный способ передачи данных между фрагментами в процессе навигации.
Создаем проект
Откройте среду разработки Android Studio и создайте новый проект с использованием шаблона Empty Activity.
Создаем граф навигации
Далее перейдите в папку res и создайте в ней папку navigation. Внутри папки navigation создайте Navigation Resource File с именем nav_graph.xml и корневым элементом .
Если вы забыли добавить в проект необходимые для поддержки навигации библиотеки – Android Studio предложит это сделать за вас, показав предупреждение.
Добавляем пункты назначения – фрагменты
Добавьте новые пункты назначения. Для этого:
- В окне редактора дизайна нажмите кнопку «New destination»
- Выберите «Create new destination»
- Далее в окне добавления фрагмента выберите Fragment (Blank):
Источник
Отличие Android App Bundle (.aab) от APK файла
Традиционно приложения Android были доступны в формате APK, но все стало меняться с появлением Android App Bundle и различных дополнительных расширений, таких как APKM, XAPK или файлы ZIP с несколькими APK.
Android App Bundles — это официальный формат для публикации приложений в Google Play, хотя он несколько загадочнее, чем APK всей жизни. Здесь мы увидим, что такое Android App Bundle, какие у них есть преимущества и чем они отличаются от APK.
Что такое Android App Bundle (.aab)
В наборах приложений для Android нет ничего нового. Google представил их нам на Google I/O в 2018 году как новый формат публикации, который уменьшит размер загрузок для пользователей, что, согласно исследованиям Google, приводит к большему количеству загрузок и меньшему количеству удалений.
По сути, App Bundle содержит все ресурсы приложения, хотя его нельзя установить непосредственно на мобильный телефон. То есть включены база и остальная часть рекурсора, такая как графика, макеты и тексты для всех возможных конфигураций.
То же приложение, опубликованное в App Bundle, занимает больше, чем в APK, но не файл, который пользователи будут скачивать в Google Play.
На самом деле это намного проще, чем кажется. Если разработчик создает приложение и публикует его в формате APK, это нормально, что включены все ресурсы, например графика на 30 языках, поддерживаемых приложением. Для простоты, если размер каждого изображения составляет 100 КБ, в указанном APK-файле будет 3000 КБ.
Пакет приложений в формате .AAB включает в себя абсолютно все, но серверы Google анализируют его содержимое и генерируют файлы APK со всеми возможными конфигурациями, включая только ресурсы указанной конфигурации. То есть пользователь загружает APK, который вместо графики для 30 языков включает только те, которые настроены на мобильном устройстве. Вместо 3000 КБ это 100 или 200 КБ.
Что, если пользователь позже изменит язык мобильного телефона? К счастью, все предусмотрено. В таком случае Google Play загружает дополнительные языковые файлы из вашего магазина. То же самое относится к модульным дополнительным функциям, которые включены в приложение и которые могут быть загружены позже, но не включены в первоначальную загрузку.
Как видим, уменьшение размера загрузки — главное преимущество этого формата по сравнению с традиционной публикацией в APK, хотя и не единственное преимущество. В прошлом Google выделял 16 веских причин для разработчиков использовать App Bundle вместо APK: меньшее время разработки, дополнительная информация в консоли Google Play, более короткое время компиляции, модульные функции .
Чем APK отличается от Android App Bundle (.aab)?
До сих пор мы много говорили о App Bundle с точки зрения разработчиков приложений, но как пользователь, чем один отличается от другого? Вопрос действительно сложный, потому что как пользователь вы не должны сталкиваться с App Bundles: это пакет для разработчиков, которые публикуют свои приложения в Google Play. Как пользователь, вы ничего не можете с этим поделать, по крайней мере, без необходимых инструментов и знаний.
И все же мы находим их в конкретном случае: когда мы хотим установить приложения из-за пределов Google Play (на сторонних сайтах), и они доступны не в APK, а в App Bundle. То, что мы здесь загружаем, на самом деле не является оригинальным пакетом приложений, а представляет собой набор APK-файлов, созданных Google для различных конфигураций.
То есть, в то время как приложения, опубликованные с помощью APK, представляют собой один APK, приложения, опубликованные как App Bundle, имеют базовый APK и несколько APK для разных конфигураций, называемых разделенными APK. Это усложнило жизнь веб-сайтам для загрузки приложений Android, которым пришлось создавать альтернативы, такие как формат APKM для APKMirror или XAPK, на trashbox.ru и других сайтах.
APKM, XAPK и другие форматы — это ZIP-файлы со строкой APK внутри, которые необходимо установить одновременно.
APKM, XAPK или ZIP, полный APK, не являются пакетом приложений, хотя и являются их побочным эффектом. Все они представляют собой ZIP-файл, который включает в себя базовый APK и дополнительные APK для поддерживаемых архитектур, языков или любого другого доступного варианта. Они не могут быть установлены сами по себе, как APK, но требуется специальное приложение-установщик, способное устанавливать «фрагменты» вместе.
То есть App Bundle является заменой APK при публикации приложения в Google Play, но не при его установке. Файлы APK продолжают устанавливаться на мобильный телефон, хотя и не один, а несколько, включая только то, что необходимо для его работы на вашем мобильном телефоне.
С помощью App Bundle, который загружает разработчик, Google генерирует бесчисленное количество пользовательских APK-файлов, которые позволяют ускорить загрузку приложений. App Bundle и APK не противоположны, а дополняют друг друга. Это хорошее изобретение, хотя, несомненно, усложняет установку приложений из внешних источников.
Источник