Apk файл или набор android app bundle содержит значок в недопустимом формате
С августа 2021 года все новые приложения должны публиковаться в Google Play в формате набора Android App Bundle. Кроме того, во всех новых приложениях размером более 150 МБ должны использоваться технологии Play Asset Delivery или Play Feature Delivery.
Чтобы узнать больше, прочитайте статью о наборах Android App Bundle в блоге для разработчиков Android.
Благодаря внутреннему доступу к приложениям вы можете быстро поделиться набором App Bundle или APK-файлом со своей командой и тестировщиками, загрузив его на специальную страницу и создав ссылку. Вы можете разрешить скачивать файлы всем, у кого есть ссылка, или только пользователям из списка.
Прежде чем начать
Ниже приведена важная информация, которую стоит учесть, прежде чем загружать файлы для внутреннего доступа.
- Если у вас есть разрешение на выпуск версий для тестирования приложения, вы по умолчанию можете загружать APK-файлы для внутреннего доступа.
- Существующие номера версий наборов App Bundle и APK-файлов можно использовать повторно.
- Вы можете загружать APK-файлы, доступные для отладки, и делиться ими.
- Загруженные для внутреннего доступа объекты не видны в App Bundle Explorer, и их нельзя включить в выпуски тестовых или рабочих версий.
- Их можно подписать любым ключом, не только ключом загрузки или регистрации. После этого они будут повторно подписаны с помощью ключа для внутреннего доступа к приложению. Этот ключ создается Google.
- Вы можете поделиться ссылкой на внутренний доступ к приложению с любым количеством пользователей, но скачать его по этой ссылке смогут только 100 из них.
- Ссылки для скачивания становятся недействительными через 60 дней после загрузки файлов.
Загрузка приложений и совместный доступ
Добавление авторизованных пользователей и тестировщиков
Вариант 1. Создание нового списка пользователей с разрешением на загрузку
- Откройте Play Console.
- Выберите приложение.
- В меню слева нажмите Версия >Внутреннее тестирование >Внутренний доступ к приложениям.
- На вкладке Пользователи с правами загрузки и тестировщики найдите раздел "Управление пользователями с правами загрузки" и выберите Создать список рассылки.
- Укажите название списка.
- В дальнейшем этот список можно будет использовать для тестирования любых ваших приложений.
- Добавьте адреса электронной почты участников через запятую или нажмите Загрузить CSV-файл. В CSV-файле каждый адрес электронной почты должен находиться в отдельной строке. Между адресами не должно быть запятых.
- Если вы загрузите CSV-файл после того, как ввели адреса электронной почты, все добавленные вручную адреса будут удалены, а вместо них будет использован загруженный список.
- Пользователи с разрешением на загрузку не обязательно должны иметь доступ к вашему аккаунту Play Console.
- Нажмите Сохранить изменения.
- Установите флажки рядом с названиями списков, которые вы хотите использовать.
Примечание. Созданный список адресов электронной почты можно использовать повторно, чтобы в аккаунте разработчика Google Play добавить пользователей с разрешением на загрузку, скачивание или тестирование версий.
Вариант 2. Применение существующего списка пользователей с разрешением на загрузку
- Откройте Play Console.
- Выберите приложение.
- В меню слева нажмите Версия >Внутреннее тестирование >Внутренний доступ к приложениям.
- На вкладке Пользователи с правами загрузки и тестировщики найдите раздел "Управление пользователями с правами загрузки" и установите флажки рядом с названиями нужных списков.
Важно! Предоставьте авторизованным тестировщикам инструкции о том, как включить внутренний доступ к приложениям.
Вариант 1. Открытие доступа к приложению по ссылке
- Откройте Play Console.
- Выберите приложение.
- В меню слева нажмите Версия >Внутреннее тестирование >Внутренний доступ к приложениям.
- На вкладке Пользователи с правами загрузки и тестировщики найдите раздел "Управление пользователями с правами загрузки" и убедитесь, что выбран вариант "Любой пользователь, которому вы дали эту ссылку, сможет скачать файлы" (этот вариант выбран по умолчанию).
Вариант 2. Создание нового списка авторизованных тестировщиков
- Войдите в Play Console.
- Выберите приложение.
- В меню слева выберите Инструменты разработчика >Внутренний совместный доступ.
- Перейдите на вкладку "Авторизованные тестировщики".
- В разделе "Доступность ссылки" выберите Списки рассылки.
- Нажмите Создать список.
- Укажите название списка. В дальнейшем этот список можно будет использовать для тестирования любых ваших приложений.
- Добавьте адреса электронной почты участников через запятую или нажмите Загрузить новый CSV-файл. В CSV-файле каждый адрес электронной почты должен находиться в отдельной строке. Между адресами не должно быть запятых.
- Примечание. Если вы загрузите CSV-файл после того, как ввели адреса электронной почты, все добавленные вручную адреса будут удалены, а вместо них будет использован загруженный список.
- Нажмите Сохранить.
- Установите флажки рядом с названиями списков, которые вы хотите использовать.
Примечание. Созданный список адресов электронной почты можно использовать повторно, чтобы в аккаунте разработчика Google Play добавить пользователей с разрешением на загрузку, скачивание или тестирование версий.
- Откройте Play Console.
- Выберите приложение.
- В меню слева нажмите Версия >Внутреннее тестирование >Внутренний доступ к приложениям.
- Выберите вкладку Списки рассылки.
- В разделе "Пользователи с разрешением на скачивание" нажмите Создать список рассылки.
- Укажите название списка.
- В дальнейшем этот список можно будет использовать для тестирования любых ваших приложений.
- Добавьте адреса электронной почты участников через запятую или нажмите Загрузить CSV-файл. В CSV-файле каждый адрес электронной почты должен находиться в отдельной строке. Между адресами не должно быть запятых.
- Если вы загрузите CSV-файл после того, как ввели адреса электронной почты, все добавленные вручную адреса будут удалены, а вместо них будет использован загруженный список.
- Пользователи с разрешением на загрузку не обязательно должны иметь доступ к вашему аккаунту Play Console.
- Нажмите Сохранить изменения.
- Установите флажки рядом с названиями списков, которые вы хотите использовать.
Примечание. Созданный список адресов электронной почты можно использовать повторно, чтобы в аккаунте разработчика Google Play добавить пользователей с разрешением на загрузку, скачивание или тестирование версий.
Вариант 3. Применение существующего списка авторизованных тестировщиков
- Откройте Play Console.
- Выберите приложение.
- В меню слева нажмите Версия >Внутреннее тестирование >Внутренний доступ к приложениям.
- Выберите вкладку Списки рассылки.
- В разделе "Пользователи с разрешением на скачивание" установите флажок рядом с названиями нужных списков.
Включение внутреннего доступа к приложениям авторизованными тестировщиками
Прежде чем авторизованные тестировщики смогут скачать приложения, им необходимо включить внутренний доступ в приложении "Play Маркет".
- Откройте Play Маркет .
- Нажмите на значок меню >Настройки.
- В разделе "О приложении" коснитесь пункта "Версия Play Маркета" семь раз.
- Когда появятся настройки внутреннего совместного доступа к приложениям, включите доступ, нажав на переключатель.
- Нажмите Включить.
Скачивание сертификатов
Некоторые поставщики API запрашивают сертификат, чтобы связать его с названием пакета приложения. Когда вы впервые добавляете APK-файл на страницу загрузки для внутреннего доступа, Play Console создает сертификат, который используется для каждой загрузки этого приложения. Все APK-файлы повторно подписываются этим тестовым сертификатом независимо от того, какой сертификат изначально использовался для подписания приложения.
Чтобы скачать тестовый сертификат:
Как устранить неполадки
Ниже описываются способы устранения проблем, возникающих при использовании внутреннего доступа к приложениям.
Если у тестировщиков возникают проблемы со скачиванием внутренней версии приложения, убедитесь, что вы добавили их в список авторизованных тестировщиков или открыли доступ к приложению по ссылке.
Приложение нельзя скачать для внутреннего тестирования, если оно недоступно пользователю в Google Play. Чтобы тестировщики могли скачать внутреннюю версию приложения, им нужен доступ к странице приложения в Google Play.
Вот несколько причин, почему внутренняя версия приложения может быть недоступна для пользователя:
- Приложение не распространяется в стране пользователя.
- Не опубликована рабочая версия приложения или опубликована тестовая, к которой у пользователя нет доступа.
Если вы поделились ссылкой для внутреннего доступа к приложению с большим количеством пользователей, вероятно, лимит скачиваний по этой ссылке будет исчерпан (он составляет 100 пользователей).
Чтобы увеличить количество пользователей, которые могут скачать приложение по ссылке, загрузите тот же APK-файл или набор App Bundle, и вы получите новую ссылку. По каждой уникальной ссылке приложение могут скачать не более 100 пользователей.
Если срок действия ссылки для внутреннего доступа к приложению истек, повторно загрузите тот же APK-файл или набор App Bundle, чтобы получить новую ссылку.
I am trying to upload an application under development to Google Play Console, internal testing track. The application has two flavor dimensions and and two dynamic features, the last two being resources only (no code). I am relying on Android Studio to generate the directory structure and the signed bundle.
The name of the package is com.something.something. The upload fails with the message "Your APK or Android App Bundle needs to have the package name com.something.something.base."
I cannot track down the source of the problem, though it looks like it should have something to do with the flavor dimensions. On the other hand, I had no problem uploading a single apk, without the dynamic features.
I am not sure which part of the code is relevant here, which is probably part of my problem, but my main build gradle looks like this
I do not want to burden the question with irrelevant code, but can provide more if there is some intuition about where the problem might be.
I would be grateful for any suggestion on how to approach the debugging here. (Uploading is painfully slow, trial and error is not much of an option.)
5 Answers 5
Thank you all for taking a shot at the answer. Here is what I learned about this issue and how I "solved" it.
My problem starts with Google Play Console (GPC) insisting that an app name be associated with the very first package name you have uploaded. This is in addition to having one app = one package name rule. If you are still in the draft stage, you can delete the package from your "All applications" list in GPC, and upload a package with different name, but once it's published - no such luck. The way GPC is designed, all my future uploads should have the suffix ".base", if this is what my first upload had.
Next, Android Studio (AS), does something called manifest file merging. (@Fantômas, your audience may not be as omniscient as you are - the behavior of AS is relevant here, and with your permission I would return the tag.) When you choose the flavor for the bundle, the name of the flavor is suffixed to create the package name in the merged AndroidManifest file, irrespective of the name you specify in your main AndroidManifest.xml, as you can check if you choose to "analyze" (the name of the link after the bundle is generated) newly created bundle:
Thus, in my first upload I had a flavor called base, and I did not realize that AS tacked it as the suffix on the name of my package. From that point on, GPC will not take a package for my app by any other name.
One thing that is irrelevant here are dynamic features - they just happened to be part of my second upload attempt.
Не так давно прогремела новость о том, что Android отказывается от APK-файлов и переходит на AAB. Вы наверняка уже эту новость прочитали, во всём разобрались и успокоились, так как новость проходная. Тем не менее, мы считаем, что переход к новой системе публикации приложений App Bundle — это часть большого пути, которую проделала система Android, чтобы стать по-настоящему быстрой, эффективной и супероптимизированной платформой. Поэтому мы подготовили большой и очень интересный материал. И сегодня мы раскроем вам массу страшных тайн Android.
- Сегодня мы поговорим о том почему Android сначала тормозил, а потом перестал.
- Помянем Dalvik кэш и припомним ART.
- Узнаем во сколько внутри Android просыпается демон.
- А также слегка затронем тему, почему Android никогда не обгонит iOS по производительность, но при этом всегда будет менее требовательным к железу.
Проблема Android
У системы Android есть одна очень важная особенность, которая является как огромным преимуществом, так и огромной проблемой.
- Система должна работать на всём и вся: разные архитектуры, типы устройств и прочее.
- При этом под неё должно быть просто писать код. Чтобы один раз и везде.
- И, плюс ко всему, система не должна быть прожорливой и должна быстро работать хоть на ноунейме за 3 копейки, хоть на флагмане за 3 зарплаты.
- Поддержка разных архитектур и типов устройств
- Простота программирования
- Минимальные системные требования
- Высокая скорость работы
Поэтому вся история развития системы Android — это история борьбы, компромиссов и поиска баланса.
Условно историю Android можно поделить на 4 этапа: когда Android тормозил, много жрал, оптимизировался и, наконец, находился в балансе.
Этап 1. Dalvik: Android тормозит
Этап 2. ART: Android потребляет
Этап 3. Profiling: Android оптимизируется
Этап 4. AAB: Android балансирует
И сегодня мы поговорим про все четыре этапа. Но начнём с небольшой ремарки.
Чтобы соблюсти первые два базовых требования к системе, а именно: поддержка разных архитектур и простота программирования. В качестве основного языка программирования в системе Android была выбрана Java. Почему так?
У Java есть несколько классных свойств: он изначально был создан как мультиплатформенный: пишешь один раз — работает везде.
Но, есть и недостаток. Достигается это всё очень грязными методами, а именно при помощи виртуальной Java-машины. Тут стоит пояснить.
Дело в том, что люди пишут код на понятных для человека языках программирования, но машины не понимают такой код, они понимают машинный код, то есть бинарный код. А значит, в процессе финальной сборки приложения, человеческий код нужно перевести в машинный код. Такой процесс называется компиляцией. А приложение скомпилированное под требуемую архитектуру называется нативным.
Нативные приложения — самые быстрые, потому они записаны на языке понятном железу. А теперь смотрите внимательно: приложения написанные на Java компилируется не в нативный код, а в промежуточный код, который называется байт-кодом.
А вот уже из этого байт-кода можно достаточно быстро перевести приложение под любую архитектуру при помощи виртуальной Java-машины.
Иными словами, приложения написанные на Java — это всегда не нативные приложения, которые требуют дополнительной пост-компиляции., а значит дополнительных издержек.
И Android-приложения — не исключение.
Единственное что, в Android вместо виртуальной машины Java используется собственная, куда более эффективная, виртуальная машина Dalvik или ART. А также вместо байт-кода Java используется собственный, куда более эффективный, байт-код, который внутри APK-шек записыватся в файлах с расширением DEX (анимация).
Тем не менее, это не меняет сути, т.к. Android-приложения содержат много Java-кода и это проблема, которую как-то нужно решать. Так вот на протяжении своей истории эта проблема решалась по-разному.
ЭТАП 1. Dalvik: Android тормозит
Вплоть до Android версии 4.4 KitKat приложения запускались через виртуальную машину Dalvik, которая работала по принципу Just In time компиляции или JIT-компиляции. То есть приложения транслировались в нативный код прямо во время исполнения, то есть “на лету”.
Мы уже рассказывали про JIT-компиляцию в ролике про Android на Windows 11, если не видели — посмотрите. Е
- Приложения запускаются дольше
- Работают медленнее
- Потребляют больше энергии
Ответ простой: такой подход позволял экономить много памяти — в первую очередь, оперативной. Тогда устройства были не такие мощные как сейчас, у многих на борту было не больше 200 Мб ОЗУ. А JIT-компиляция позволяла, так сказать, загружать в оперативку только ту часть приложения, которая используется.
Плюс ко всему, сам по себе байт-код компактный, поэтому и на диске приложения занимали очень мало места.
Да и были возможности оптимизации: скомпилированный код можно записать в кэш и дальше уже из кэша брать как бы нативный код. В общем, можно жить…
Помните же Dalvik-кэш? Вот это как раз он…
ЭТАП 2. ART: Android потребляет
Тем не менее пользователи и приложения становились всё более требовательными к отзывчивости. И в Android 4.4 KitKat была представленная новая виртуальная машина ART или Android Runtime. А в Android 5.0 Lollipop ART полностью заменила Dalvik.
Вместе с новой средой выполнения, Android поменял стратегию на 180 градусов. Вместо компиляции во время исполнения приложения ART стала использовать компиляцию перед исполнением. То есть компиляция теперь делается во время установки приложения. Такой вид компиляции называет Ahead Of Time компиляция или сокращенно AOT-компиляция.
И естественно, Android залетал! Приложения стали быстрее запускаться и работать без каких либо дополнительных задержек. Фактически все приложения внезапно стали “нативными” для железа!
Вообще согласитесь, Android 5-й версии был хорош. Система летала, представили Material Design… Просто счастье.
- Сильно увеличился вес приложений, ведь машинный несжатый код весит много.
- Увеличилось время установки приложений, ведь компиляция происходила именно в момент установки.
- При каждом обновлении системы приходилось перекомпилировать все приложения.
ЭТАП 3. Profiling: Android оптимизируется
Поэтому в Google подумали: компилируя приложение целиком, не делаем ли мы лишнюю работу? А вот и делаем!
Как выяснилось, по статистике пользователи очень редко используют более 10-20% кода приложения. Иными словами, в большинстве случаев заранее будет достаточно скомпилировать только малую часть, которая будет действительно использоваться часто, а для редких уголков приложения, в которые мы не заходим, можно будет и JIT-компиляцию использовать.
Но вот только, какую часть кода нужно скомпилировать заранее, ведь даже разработчики приложений не знают, как именно пользователи будут юзать их программу.
Поэтому в Android 7.0 Nougat Google представили технологию PGC — Profile guided compilation. То есть это компиляция, основанная на профилях использования приложения. Думаю вы уже примерно догадываетесь как эта штука работает.
Естественно от AOT-компиляции на этапе установки отказались. Поэтому во время первого запуска приложения стали снова использовать старую добрую JIT-компиляцию, результат которой, естественно, сохранится в кэш. Тоже самое повторится и во время второго запуска, и третьего. Но когда вы поставите телефон на зарядку и крепко заснете, тогда проснется так называемый «Демон» (это, если что, официальное название специальной службы), который проанализирует кеши всех приложений, которые вы использовали в течение дня. После этого он создаст профили с оптимизированным кодом. И так каждую ночь…
- Сильно ускорилось время установки приложений
- Ускорилось время обновления системы
- Скомпилированный код стал занимать на 80% меньше места на диске
Но и эту проблему Google решили. В Android 9.0 Pie они представили Облачные профили.
Они просто собрали профили приложений со всех пользователей, проанализировали их и создали усредненный профиль для каждого приложения, который теперь стал автоматически скачиваться во время установки приложения из Google Play Store.
Всё это позволило значительно повысить скорость первого запуска приложения, да и в целом, первые дни использования девайса. А, как известно, первое впечатление, второй раз произвести не получится.
И вот мы с вами видим какой огромный путь проделала система Android.
Система стала в десятки раз отзывчивее, оптимизированее и дружелюбнее к пользователям.
Но несмотря на огромное количество изменений под капотом самой системы оставалось одна очень важная проблема: огромное разнообразие устройств. Поэтому переходим к заключительному этапу становления Android.
ЭТАП 4. AAB: Android балансирует
На последнем этапе Google решил уменьшить не только размер скомпилированного кода, но и размер самих приложений.
И в 2018 году они представили новый формат публикаций приложений, который называется Android App Bundle, или просто AAB.
Это не новая технология. Всё это уже давно работает, но просто только сейчас она станет единственным правильным способом публикации приложений. В чём прикол?
Система Android поддерживает 4 архитектуры, 6 разрешений графики и более 150 языков.
Поэтому если собрать универсальный APK, который будет включать в себя вообще все необходимые файлы для всех девайсов (всю графику, все библиотеки, все языки) — такой файл будет просто неподъемно весить. А если собрать по идеальной APK-шке под каждое устройство, то придется генерировать тысячи таких APK.
Поэтому, чтобы разработчики не парились, Google придумал умную систему публикации.
Во время финальной сборки приложения они просто формируют бандл, то есть архив вообще со всеми необходимыми файлами под все девайсы. Делается это автоматически через Android Studio. И загружают этот архив в Google Play.
А дальше, когда вы заходите в Google Play и скачиваете приложение, то Google Play сам собирает для вас идеальную APK-шку только с необходимым набором данных: подгружается только графика необходимого разрешения, библиотеки только под вашу архитектуру и только тот языковой пакет, который выбран у вас в системе.
Кстати, да, если в системе у вас выбрано несколько языков, то подгрузится больше языковых пакетов. Вот так всё просто и умно.
Тем не менее, последствия от этого нововведения воистину колоссальные. Для Google это позволяет экономить ежедневно 10 ПБ трафика, который тратится на скачку и приложений и обновлений.
А для пользователей это позволят сэкономить просто кучу места на устройстве. Ведь многие приложения похудели более чем на 30 процентов.
Иными словами, от нововведения сплошные блага.
Те кто испугался, что APK больше не будет, это не так. Вы, по-прежнему, сможете скачивать и устанавливать APK-файлы с других источников, тут нет никаких ограничений. Точно также нет ограничений и на сторонние магазины приложений, они также смогут использовать App Bundle или по старинке заставлять разработчиков самим собрать APK. Полная свобода и анархия.
И в качестве финального аккорда. Если вам кажется, что все эти оптимизации, связанные с компиляцией, скоростью загрузки приложений, размером APK и вещи, которые проделал Google с Android, это всё фигня. В качестве аргумента что это не так, мы решили по приколу сравнить размер приложений на Android и iOS и вот, что обнаружили.
Размер приложения Facebook на iOS 246 МБ, на Android — 57. Разница в 4,3 раза!
Instagram. iOS 150 МБ, Android — 39, разница 3.8 раза!
Snapchat 234 против 63 МБ.
TikTok 230 против 67 МБ… и так далее.
В итоге только на выбранном небольшом списке приложений мы получили экономию, более чем в 1 ГБ! Мы считаем — это достойно, именно поэтому Android настоящая народная ОС.
Выводы
Что в итоге. За время своего существования система Android прошла просто огромный путь оптимизации и стала по-настоящему универсальной, быстрой и эффективной системой, которая отлично работает на массе разных устройств. Вот бы все ОС так развивались. (Да, Microsoft?)
А что касается второй и моей, уж чего греха таить, любимой системы, которая также прекрасно работает на разных устройствах. О ней поговорим в другой раз.
С августа 2021 года все новые приложения должны публиковаться в Google Play в формате набора Android App Bundle. Кроме того, во всех новых приложениях размером более 150 МБ должны использоваться технологии Play Asset Delivery или Play Feature Delivery.
Чтобы узнать больше, прочитайте статью о наборах Android App Bundle в блоге для разработчиков Android.
Набор Android App Bundle – это формат публикации в Google Play, который позволяет уменьшить размер приложения и упростить выпуск новых версий, а также поддерживает расширенные настройки распространения.
На странице App Bundle Explorer вы можете управлять наборами App Bundle и их версиями, а также просматривать метаданные, файлы и статистику по ресурсам Google Play с поддержкой Asset Delivery.
Принцип работы и преимущества наборов App Bundle
На основе наборов App Bundle в Google Play автоматически создаются APK, оптимизированные для разных конфигураций устройств. Благодаря этому разработчикам становится удобнее распространять приложения на всех поддерживаемых устройствах — достаточно создать, подписать и загрузить только один набор. Всё остальное автоматически выполнят системы Google Play.
- Возможность публиковать более компактные приложения, которые занимают меньше места на диске и быстрее устанавливаются. В перспективе это может означать меньшее количество удалений.
- Простое управление выпусками без необходимости создавать и публиковать несколько APK для разных конфигураций устройств.
- Функция Play Feature Delivery позволяет сделать приложение модульным и добавить модули функций. Есть несколько вариантов загрузки модулей:
- Загрузка при установке. Модули функций загружаются сразу при установке. Вы можете выбрать этот вариант, чтобы сократить время сборки. Кроме того, вы можете настроить приложение так, чтобы модули загружались при установке, а позже удалялись, если потребуется освободить место на диске.
- Условная загрузка. В этом случае при установке загружаются определенные модули функций в зависимости от страны пользователя, функций устройства, минимальной версии SDK и других условий.
- Загрузка по запросу. В этом случае модули функций устанавливаются и удаляются по запросу, а не навсегда для всех пользователей.
- Функция мгновенного запуска. В этом случае модули функций можно активировать, перейдя по ссылкам или нажав кнопку Попробовать на странице приложения в Google Play. При этом приложение устанавливать не обязательно.
- Загрузка при установке. Пакеты объектов загружаются во время установки (заранее) и уже доступны при запуске приложения.
- Загрузка сразу после установки. Пакеты объектов загружаются автоматически сразу после установки приложения. Скачивание может начинаться, даже если приложение ещё не было запущено. Кроме того, пользователь может открывать приложение, пока идет скачивание.
- Загрузка по запросу. Пакеты объектов скачиваются по запросу во время работы приложения.
Как использовать App Bundle Explorer
App Bundle Explorer позволяет анализировать версии приложения, скачивать объекты и смотреть статистику по ресурсам Google Play.
Чтобы проверять работу различных версий и конфигураций APK-файлов вашего приложения на разных устройствах, используйте фильтр версий в правом верхнем углу страницы, а также описанные ниже вкладки. В предыдущей версии Google Play Console фильтр версий назывался "Библиотека объектов".
В App bundle explorer есть три вкладки:
- Сведения. Здесь можно изучать подробную информацию о каждой версии приложения.
- Загрузки. Здесь вы можете создавать ссылки для установки каждой версии, скачивать APK-файлы для определенных устройств для тестирования или предустановки, скачивать универсальный APK-файл и управлять другими объектами отдельных версий.
- Доставка. Здесь можно проверять информацию о том, какие файлы были сгенерированы на основе вашего набора App Bundle, при каких условиях эти объекты доставляются и на какие устройства.
Условия и рекомендации
- Для использования наборов Android App Bundle необходимо зарегистрироваться в сервисе подписания приложений Play App Signing.
- Информация о работе с расширенными функциями распространения приводится в документации:
Как посмотреть данные APK
Чтобы посмотреть APK-файлы, которые были сгенерированы из набора App Bundle, выполните следующие действия:
- Откройте страницу App Bundle Explorer (для этого в меню слева выберите Выпуск >App Bundle Explorer).
- На вкладке Устройства выберите фильтр версий в правом верхнем углу страницы.
- В таблице "Выбор версии" нажмите на стрелку справа от нужной версии.
- Посмотрите информацию о версии.
- Чтобы управлять устройствами, совместимыми с этой версией приложения, выберите в разделе "Поддерживаемые устройства" пункт Просмотреть каталог устройств.
Как поделиться ссылкой для установки
Чтобы поделиться ссылкой на установку оптимизированного для конкретного устройства APK, который был сгенерирован на основе набора Android App Bundle, выполните следующие действия:
- Откройте страницу App Bundle Explorer (для этого в меню слева выберите Выпуск >App Bundle Explorer).
- Выберите фильтр версий в правом верхнем углу страницы.
- В таблице "Выбор версии" нажмите на стрелку справа от нужной версии.
- Перейдите на вкладку Загрузки.
- В разделе "Ссылка для внутреннего доступа к приложению" нажмите Копировать ссылку общего доступа.
- Поделитесь ссылкой.
- Совет. На странице Внутренний доступ к приложениям вы можете разрешить своей команде просматривать набор App Bundle и APK-файлы. Чтобы перейти на нее, нажмите Управление доступом. Подробнее…
Как скачать APK-файлы для определенных устройств
Вы можете скачать APK-файлы для определенных устройств. Кроме того, вы можете передать OEM-производителям версии APK для предустановки на устройствах (затем приложения будут обновлены из Google Play).
Чтобы скачать APK-файлы для определенных устройств, которые были сгенерированы из набора App Bundle, выполните следующие действия:
Как скачать подписанный универсальный APK
Подписанный универсальный APK – это единый устанавливаемый файл, который подписан ключом, использующимся функцией подписания приложений в Google Play для вашего программного продукта. Вы можете распространять такой APK-файл в других магазинах приложений и каналах распространения, например на веб-сайтах, и он будет подписан одним и тем же ключом.
Для скачивания выполните следующие действия:
Как скачать файлы объектов или деобфускации
Чтобы скачать файлы объектов, файлы деобфускации и нативные отладочные символы для APK-файлов, которые были сгенерированы из набора App Bundle, выполните следующие действия:
Как посмотреть информацию о доставке для модулей функций и пакетов объектов
Если вы используете функцию Play Feature Delivery для настройки доставки модулей функций или Play Asset Delivery для настройки доставки пакетов объектов, на вкладке Загружаемый контент страницы App Bundle Explorer будет показываться полезная информация. Чтобы посмотреть эту информацию, выполните следующие действия:
С августа 2021 года все новые приложения должны публиковаться в Google Play в формате набора Android App Bundle. Кроме того, во всех новых приложениях размером более 150 МБ должны использоваться технологии Play Asset Delivery или Play Feature Delivery.
Чтобы узнать больше, прочитайте статью о наборах Android App Bundle в блоге для разработчиков Android.
Выпуски позволяют управлять наборами Android App Bundle (или APK-файлами – для приложений, созданных до августа 2021 года), а также внедрять различные версии приложения.
Шаг 1. Создайте выпуск
Под выпуском подразумевается совокупность версий приложения, которые вы готовите для запуска продукта или публикации обновления. Вы можете создать выпуск для трех типов тестирования или сразу внедрить рабочую версию.
- Открытое тестирование. Версии доступны тестировщикам в Google Play. Присоединиться к тестированию можно на странице приложения.
- Закрытое тестирование. Версии доступны ограниченному количеству тестировщиков, которых вы выбираете самостоятельно. Они могут протестировать предварительную версию приложения и оставить свои отзывы.
- Внутреннее тестирование. Версии доступны тестировщикам, которых вы выбираете самостоятельно (до 100 человек).
- Рабочая версия. Она доступна всем пользователям Google Play из выбранных вами стран.
Важно! Чтобы создать новый выпуск, необходимо иметь разрешение на выпуск версий для тестирования приложения.
Чтобы создать выпуск:
- Откройте Play Console и выберите тип тестирования или рабочую версию:
-
(Тестирование >Открытое тестирование) (Тестирование >Закрытое тестирование)
- Примечание. Чтобы создать выпуск версии для уже существующего закрытого тестирования, выберите Управлять версией. Чтобы создать новую версию, нажмите Создать версию.
- Примечание. Если кнопка Создать новый выпуск отключена, возможно, у вас есть невыполненные задачи по настройке. Они могут быть представлены на странице Панель управления.
Совет. Подробную информацию вы можете найти в статье о том, как провести открытое, закрытое или внутреннее тестирование.
Шаг 2. Подготовьте выпуск приложения
- Следуйте инструкциям на экране:
- Если это первый выпуск приложения, настройте функцию подписания приложений в Google Play.
- Добавьте наборы App Bundle.
- Примечание. Для обновлений тех приложений, которые были созданы до августа 2021 года, можно добавлять наборы App Bundle или APK-файлы.
- Необязательно. Если вы впервые создаете выпуск, то можете изменить ключ подписи приложения. В разделе "Целостность приложения" нажмите Изменить ключ подписи приложения. Если вы собираетесь изменить ключ, учтите следующее:
- Чтобы участники внутреннего и закрытого тестирования, на устройствах которых уже есть ваше приложение, могли и дальше получать обновления, им потребуется удалить и снова установить его.
- Вы не сможете использовать загруженные ранее версии приложения. Вам понадобится загрузить их повторно.
- Укажите название выпуска.
- Введите примечания к выпуску.
- Чтобы узнать больше о каком-либо поле в интерфейсе на этапе подготовки, нажмите на название соответствующего раздела ниже.
- Чтобы применить изменения, выберите Сохранить.
- Нажмите Проверка выпуска.
Примечание. После публикации версии для открытого тестирования изменить ключ подписи приложения будет нельзя.
Подготовка
Чтобы получить подробную информацию, выберите раздел ниже.
В этом разделе вы можете добавить наборы App Bundle из своей библиотеки или загрузить новые. Нажав на значок в виде трех точек, можно:
- загрузить файл сопоставления ReTrace (в формате TXT);
- загрузить нативные отладочные символы (в ZIP-файле);
- загрузить файл дополнений (OBB);
- удалить набор App Bundle.
Примечание. В выпусках тех приложений, которые были созданы до августа 2021 года, можно использовать наборы App Bundle или APK-файлы.
Чтобы узнать больше о том, почему необходимо загружать файлы сопоставления ReTrace и нативные отладочные символы, прочитайте эту статью.
В этом разделе перечислены наборы App Bundle из предыдущего выпуска, которые останутся в текущем.
Чтобы убрать набор App Bundle из текущего выпуска, нажмите Удалить. Вы сможете найти этот набор на странице App Bundle Explorer (то же самое касается APK-файлов).
В этом разделе перечислены наборы App Bundle из предыдущего выпуска, которые не войдут в текущий.
Чтобы добавить набор App Bundle в текущий выпуск, нажмите Включить.
Запросы разрешений оцениваются в процессе выпуска приложения после добавления APK-файлов или наборов App Bundle. Если приложению требуются разрешения, связанные с доступом к конфиденциальной информации или высоким уровнем риска (например, доступ к SMS или списку вызовов), вам может понадобиться заполнить форму "Декларация разрешений" и получить одобрение Google Play.
Название выпуска используется только в Play Console и недоступно пользователям.
Это поле будет заполнено автоматически при добавлении первого набора App Bundle или APK-файла в выпуск.
Чтобы вам было проще находить нужные версии, давайте им понятные названия. Например, это может быть версия сборки (3.2.5-RC2) или кодовое название (Banana).
Обзор
Расскажите пользователям о последних изменениях в вашем приложении. Обратите внимание, что примечания к выпуску нельзя использовать в рекламных целях или для призыва пользователей к действиям.
Добавление примечаний к выпуску и управление переводами
Добавьте описание выпуска между тегами соответствующего языка. Такие теги отображаются в текстовом поле для каждого языка вашего приложения.
Прежде чем изменить список поддерживаемых языков, необходимо добавить переводы. После этого обновленный набор языков появится в текстовом поле на странице Подготовка версии.
Обратите внимание на то, что теги языков должны быть выделены в отдельные строки. Пример:
Примечания к выпуску могут занимать несколько строк.
Копирование из предыдущего выпуска
Чтобы скопировать примечания к выпуску из предыдущей версии, выберите Скопировать из предыдущего выпуска. На следующем шаге выберите версию – соответствующие примечания и переводы будут скопированы в текстовое поле для дальнейшего редактирования. Они заменят ранее введенные примечания к выпуску.
Шаг 3. Проверьте файлы и внедрите выпуск
Внимание! Перед внедрением выпуска убедитесь, что вы настроили страницу приложения в Google Play, подготовили приложение к проверке на странице Контент приложения и установили нужную цену.
Когда вы будете готовы внедрить выпуск, сделайте следующее:
- Откройте Play Console и перейдите на страницу Обзор выпусков.
- Рядом с нужной версией нажмите на стрелку вправо, чтобы открыть страницу Сведения о выпуске.
- Совет. Если вы не можете найти выпуск, используйте строку поиска.
- В разделе "Обзор версии приложения" выберите Открыть панель управления версией.
- Откройте вкладку Версии и нажмите Изменить.
- Просмотрите проект и при необходимости внесите изменения, после чего выберите Сохранить.
- Нажмите Проверка выпуска. На открывшейся странице можно убедиться, что ничего не мешает внедрить выпуск приложения для пользователей.
- Если вверху страницы вы видите заголовок "Сводные данные об ошибках", нажмите Развернуть, чтобы посмотреть подробные сведения и устранить проблемы.
- Примечание. В некоторых случаях вам также могут быть предоставлены рекомендации или список обязательных действий для устранения проблем. Вы не сможете опубликовать приложение, пока ошибки не будут исправлены. Если вы видите только предупреждения или незначительные ошибки, они не помешают вам опубликовать приложение. Тем не менее мы рекомендуем устранить их перед публикацией.
- При обновлении существующего приложения выберите процент внедрения.
- Если вы внедряете первый выпуск приложения, этот параметр будет недоступен.
- Подробная информация о том, как настроить таргетинг по странам для поэтапного внедрения, приведена в этой статье.
- Выберите Опубликовать выпуск.
- Если вы впервые внедряете рабочую версию приложения, она будет опубликована для всех пользователей Google Play в выбранных вами странах. Для этого необходимо нажать Опубликовать рабочую версию.
Шаг 4. Проверьте сведения о версии
После создания выпуска в таблице раздела "Последние выпуски" на странице Обзор выпусков вам будет доступна следующая информация о последнем выпуске для каждой версии:
- Название выпуска. Используется только в Play Console (например, кодовое название или номер сборки).
- Версия. Версия, для которой был внедрен выпуск.
- Статус выпуска. Текущий статус выпуска.
- Последнее обновление. Дата и время последнего внедрения выпуска.
- Страны/регионы. Количество стран и регионов, для которых доступно последнее внедрение выпуска.
Нажмите на стрелку вправо, чтобы открыть страницу Сведения о выпуске. Там вы сможете ознакомиться со следующей информацией:
- Обзор версии приложения. Показатели, связанные с количеством установок и обновлений, проблемы производительности, средняя оценка по сравнению с предыдущими выпусками.
- Наборы App Bundle и APK-файлы. Список новых, сохраненных и отключенных наборов App Bundle и APK-файлов, связанных с выпуском.
- Примечания к выпуску. Список примечаний к предыдущим выпускам.
- История внедрения. Сведения о том, когда доступ к выпуску приложения останавливали и возобновляли, а также о том, когда приложение становилось доступным для более широкой аудитории.
Как отслеживать выпуски и управлять ими на странице "Обзор выпусков"
На странице Обзор выпусков (в разделе "Выпуск" в меню слева) собраны сведения обо всех внедренных выпусках. На ней вы сможете управлять доступностью разных версий своего приложения, просматривать страны и регионы, в которых оно доступно, а также получать более точную информацию об отдельных выпусках.
Читайте также: