как залить приложение в google play
Публикация рабочей версии
Опубликуйте свое приложение или игру для всех в Google Play.
Используйте охват Google Play
Сделайте свое приложение или игру доступными более двум миллиардам пользователей во всем мире.
Минимизируйте риски с поэтапным внедрением
Поэтапно внедряйте обновления и выявляйте проблемы до того, как они коснутся пользователей.
Отслеживайте работу выпуска
Manage your rollouts by monitoring key release metrics on the Release dashboard
Рекомендации
Изучите отчеты о тестировании, прежде чем публиковать обновление своего приложения – так вы сможете выявить и устранить проблемы ещё до того, как с ними столкнутся пользователи.
Протестировав приложение, опубликуйте его рабочую версию для всех пользователей. Узнайте, какие статусы может иметь публикация и что происходит после загрузки приложения.
После того как загруженная версия приложения будет подтверждена, вы сможете сразу опубликовать ее или выбрать определенное время с помощью функции управляемой публикации/a>.
Отслеживайте показатели Android Vitals опубликованного приложения, чтобы быстро выявлять проблемы, которые могут снизить его производительность на тех или иных устройствах или в определенных версиях Android.
Подробнее
Подготовка и запуск версий для выпуска
Перейдите в Справочный центр и узнайте, как управлять версиями приложений с помощью наборов Android App Bundle.
Просмотр данных приложения по выпускам
Сравнивайте конечные версии и анализируйте изменения показателей: установки, обновления, сбои, ошибки ANR, а также оценки и отзывы.
Успешный запуск и обновление приложений в Google Play
Посмотрите презентацию с Google I/O, посвященную использованию инструментов управления выпусками.
Выпуски с поэтапным внедрением
Узнайте о преимуществах поэтапного внедрения выпусков.
Выпуск с уверенностью
Добейтесь успеха с помощью инструментов и стратегий, которые позволяют эффективно публиковать приложения и выводить их на международный рынок.
Открытое тестирование
Получайте отзывы о качественных и количественных показателях приложения или игры от большого числа тестировщиков.
Закрытое тестирование
Предлагайте доверенным пользователям протестировать новые функции и получайте отзывы, которые не влияют на общедоступные оценки.
Внутреннее тестирование
Быстро распространяйте свое приложение среди доверенных тестировщиков, не дожидаясь результатов проверки. Используйте процессы сертификации сборки перед публикацией для более широкой аудитории.
Обзор выпусков
Отслеживайте сборки и управляйте выпусками на всех этапах.
Дополнительные функции
Пора начинать
Опубликуйте свое приложение или игру для всех в Google Play.
Подпишитесь на новости Google Play для разработчиков
Инструкция по публикации Android-приложения в Google Play
Вслед за инструкцией по публикации приложения в App Store выкладываем внутренний свод правил Лайв Тайпинг по публикации приложений в Google Play, составленный отделом менеджеров при активном участии тимлида отдела Android-разработки Александра Мирко. Вне зависимости от того, насколько ты крутой и опытный проджект-менеджер, всегда есть шанс забыть что-нибудь. Эта инструкция призвана облегчить вам жизнь.
Итак, что нужно сделать PM`y в ходе публикации:
UPD от 25.04.2017: добавлены разделы про альфа- и бета-тестирование и поэтапное внедрение, дополнены разделы «Обеспечение сборки наличием цифровой подписи» и «Технические требования к apk-файлу», сделано замечание про ASO и внесены косметические правки.
Создание аккаунта
Для того, чтобы опубликовать приложение в Google Play, нужен аккаунт разработчика. Это особый тип аккаунта, который позволяет выкладывать приложение в Google Play. Создать его можно с помощью стандартного аккаунта Google. Необходимая часть процесса — внесение разовой оплаты за соглашение разработчика в размере 25$.
→ По ссылке можно завести аккаунт разработчика.
После оплаты нужно будет заполнить данные для аккаунта разработчика и завершить регистрацию.
Пользовательское соглашение
Основные положения из Соглашения Google Play о распространении программных продуктов о которых вы должны знать:
Подготовка маркетинговых материалов
К маркетинговым материалам существуют следующие требования:
Текст
Начинать подготовку маркетинговых материалов стоит с текстов.
Требования стора к тексту
Требования у Google Play к ним следующие:
Посмотреть полные требования Google Play к тексту и его особенностях можно здесь (Как указать данные для Google Play → О продукте).
В целом, оформление приложения в сторах (App Store Optimization, или ASO) — целое искусство, на которое выделяется отдельный самообразованный человек, и в двух словах об этом не рассказать. На эту тему уже есть хорошие материалы, как например, такой.
Согласование текста с клиентом
Текст, как и любой другой маркетинговый материал, нужно согласовывать с клиентом. Происходит это так: перед встречей PM делает различные варианты материалов и в ходе встречи обсуждает с клиентом.
Эта статья на Appractor поможет написать хороший текст для Google Play (также подходит для App Store).
Скриншоты
Количество скриншотов
Максимум скриншотов, доступных для загрузки к одному приложению — восемь штук. Минимум — два. Сколько скриншотов загружать — вопрос открытый. С одной стороны, нам нужно наглядно и с выгодной стороны показать функциональные особенности приложения для пользователя. С другой стороны, нужно сформировать у пользователя стремление загрузить приложение и посмотреть, что же там есть ещё, чего не было на скриншотах. Поэтому, прежде чем делать максимальное количество скриншотов, нужно подумать об их необходимости.
Для создания скриншотов прямиком с устройства существует приложение Clean Status Bar. Оно очистит статус бар от мусора: сделает батарею полной, выставит 12:00 на часах и по желанию отобразит иконки 3G и WiFi. Установить приложение можно по ссылке.
Требования стора к скриншотам
Советы по выбору скриншотов
Основная цель скриншотов — дать пользователю сходу понять, о чём ваше приложение. Поэтому первый скриншот должен быть максимально информативным и наиболее привлекательным. Остальные скриншоты показывают различные функциональные особенности приложения.
Если у вашего приложения есть версия под планшеты, то нужно заливать отдельные скриншоты для семи- и десятидюймовых экранов (тем самым вы докажете, что ваше приложение оптимизировано под планшеты). Хорошее решение — делать исходник скриншота максимально большим (например, десять дюймов) и при надобности делать более мелкие копии скриншотов для маленьких девайсов.
Хорошая статья с множеством информации, но изображения недоступны.
Пример качественных скриншотов
Иконка
Иконка — небольшое изображение, идентифицирующее наше приложение среди остальных. Если у клиента есть какой-нибудь логотип, то его зачастую делают иконкой. Возможно, перед нами поставят цель — разработать иконку и логотип. В любом случае подход к иконке такой же, как и к любому другому маркетинговому материалу: сначала делаем варианты, потом идём с этими вариантами к заказчику и обсуждаем.
Требования стора к иконке
Отображение иконки в магазине
Проморолик
Это важная часть маркетинговой компании, т.к позволяет наиболее выгодно презентовать приложение для пользователя. Добавление ролика само по себе опционально, но если мы заботимся о клиенте и пользователях и у нас есть время и бюджет, то это лучше сделать.
Требования стора к проморолику
Требования Google Play:
Советы по созданию видео
Видео должны быть короткими (от 30 секунд до 2 минут) и демонстрировать самые привлекательные функции приложения. На устройстве с Android 4.4 или более поздней версии можно записать видео с устройства с помощью команды оболочки ADB screenrecord.
Баннер
На картинке для раздела «Рекомендуемые» можно продемонстрировать потенциальным пользователям графические возможности приложения. Это изображение необходимо, чтобы показывать приложение на разных страницах Google Play.
Требования стора к баннеру
Требования Google Play к баннерам:
Пример расположения баннера в Google Play
Советы
Возрастные ограничения
Требования стора
Система возрастных ограничений для игр и приложений учитывает особенности законодательства и культуры отдельных стран. Это позволяет разработчикам более точно определять ограничения для контента и распространять приложения среди той аудитории, для которой они предназначены.
Чтобы установить возрастное ограничение, войдите в Google Play Developer Console и заполните специальную анкету для каждого из своих приложений. Программы, которым не присвоен рейтинг, могут быть заблокированы для отдельных пользователей или стран.
Вы обязаны заполнять анкеты для установления возрастных ограничений и соблюдать рекомендации по оценке контента. Приложения, которым не присвоено ограничение, могут быть удалены из Google Play.
Внимание! В анкете давайте правдивые и максимально точные ответы, иначе приложение может быть удалено или заблокировано.
Заполнение анкеты
Технические требования к apk-файлу
Обеспечение сборки наличием цифровой подписи
Цифровая подпись необходима для того, чтобы Google Play мог идентифицировать разработчика, и в дальнейшем только этот разработчик мог обновлять/изменять приложение. К тому же, на цифровую подпись завязаны множество сервисов, таких как Facebook SDK, Vk SDK и большинство Google сервисов.
Внимание! Хранилище ключей должно находиться в надежном месте. Если вы потеряете доступ к хранилищу или пароли к нему, то назад пути нет. И даже Google ничем не поможет. Вам придётся опубликовать приложение с новым названием пакета и новым ключом. Кроме того, потребуется обновить описание исходного приложения и закрыть к нему общий доступ. Потеря файла или паролей обернётся для вашего приложения полной трагедией: пользователям придётся удалять текущую версию и скачивать из Google Play новую, а вы потеряете статистику, скачивания, аудиторию и многое другое, ради чего вы столько трудились. В общем, малоприятное событие. (см. п. «Подпись для приложения»)
Хорошей практикой считается подписывать группу своих приложений одной и той же цифровой подписью. Во-первых вы не запутаетесь в них, а во-вторых вы получаете ряд приятных бонусов. Например можно организовать безопасное общение между своими приложениями через Intent, кастомный и его свойство android:protectionLevel=«signature». Но это уже должен знать разработчик.
Настройка оплаты за пользование приложением
Иногда заказчик планирует продавать контент в приложении, либо делать само приложение платным. Начать следует с того, что в своем аккаунте разработчика после загрузки приложения вы можете выбрать тип приложения: платное или бесплатное.
Смена типа приложения
Вы можете сделать платное приложение бесплатным без повторной выкладке приложения в стор. Но для того, чтобы сделать бесплатное приложение платным, вам нужно будет выкладывать приложение в стор с новым названием пакета и указанием цены.
Привязка к Merchant Center
Чтобы указать цену на приложение, вам потребуется привязать свой аккаунт разработчика к Google Payments Merchant Center. Это необходимо для того, чтобы указать налоговые ставки.
Важно: привязку аккаунта к Merchant Center можно произвести только один раз, обратите на это внимание. Если допущена ошибка при привязке Google Payments Merchant Center, то придётся отдавать 25$ за создание нового аккаунта разработчика.
→ Шаги по созданию аккаунта описаны здесь.
После того, как вы произвели привязку, необходимо указать налог с продаж для региона. На сегодняшний день у нас нет опыта в подобных операциях, поэтому желательно будет проконсультироваться с кем-нибудь, кто его имеет. Как указать налог с продаж для региона, указано по ссылке.
Особенности работы с налогами в некоторых странах
В случае, если клиент российский, все проще и сложнее одновременно, т.к для клиентов из Аргентины, России, Тайваня, Индии налоговые вычеты осуществляются самостоятельно. Таким образом, мы должны зарегистрироваться как индивидуальный предприниматель и платить налоги с продажи приложения самостоятельно. Исходя из этого, мы включаем в цену приложения ВСЕ налоги, которые впоследствии будем выплачивать сами. Google не будет производить НИКАКИХ отчислений с продажи.
Отчисления Google не производит, но осуществляет операционный сбор в виде 30% с чистой цены. Чистая цена — цена за вычетом всех налоговых сборов.
Пример
Предположим, что цена приложения равна 100 японским иенам, а НДС составляет 20%.
Разработчик перечисляет в соответствующие органы НДС в размере 17 японских иен.
Формула: Цена приложения — (цена приложения * 1/(1 + налоговая ставка))
100 яп. иен — (100 яп. иен * 1/1,2) = 17 яп. иен
Доход разработчика после уплаты операционного сбора в размере 30% и НДС: 58 японских иен.
Формула: цена без НДС * 70%
83 яп. иены * 0,7 = 58 яп. иен
Больше информации о налоговых сборах и правилах Google Play доступны по ссылке.
После того, как вы зарегистрировали аккаунт и указали информацию о налоговых сборах, можно указать цену на приложение, удостоверившись, что цена попадает в диапазон цен, установленный для вашей страны. Все диапазоны есть здесь.
Цена приложения и валюты
Цена на приложение устанавливается в местной валюте. Для того, чтобы посмотреть цену на приложение, необходимо:
Обновление цен
Важно: если клиент планирует зарабатывать на приложении как основном источнике дохода, стоит сказать ему о необходимости обновлять цены на приложение в соответствие с курсом валют. Для этого необходимо выставить флажки рядом с нужными странами и нажать Обновить курсы валют на экране «Цены и ценообразование».
Настройка альфа- и бета-тестирования
Альфа- и бета-тестирование позволяет опробовать ваше приложение на узком круге пользователей. Существует открытое и закрытое тестирование. В обоих случаях тестовая группа пользователей не сможет оставлять публичные отзывы в Google Play — только личные, которые не являются общедоступными. В любом случае полезно предложить им дополнительный общий канал для обратной связи. Стоит отметить, что неважно, публикуете вы приложение впервые, обновляете существующее или меняете его описание, изменения будут доступны в Google Play не мгновенно, а только через пару часов.
Подробнее можно посмотреть тут.
Поэтапное внедрение обновлений
Обновления приложений можно внедрять поэтапно, начав с небольшой части пользователей, которая указывается в процентах, и постепенно увеличивая их количество. Поэтапное внедрение доступно только для обновлений приложения, а не для его первоначальной версии. Выбор пользователей происходит абсолютно случайным образом и вы никак не можете указать какие-либо параметры выбора. Также вы не можете откатить версию приложения у пользователей, которые уже установили обновление.
Несмотря на ограничения, поэтапное внедрение — очень мощный и полезный инструмент. Предположим, случился ужасный сценарий: на этапе разработки и регрессионного тестирования вы пропустили какую-либо блокирующую проблему. С поэтапным внедрением проблему при публикации обновления обнаружат не все ваши пользователи, а лишь их часть. Конечно, моментально исправить или откатить версию не получится, однако остальные ваши пользователи с проблемой не столкнутся, а у вас появляется возможность пофиксить неисправность и выкатить обновления для той же группы пользователей.
Крайне рекомендуем не пренебрегать и пользоваться данной возможностью. Для внедрения можно воспользоваться шагами в 10, 25, 50, 75 и 100% и растягивать в соответствии с длиной спринта.
Подробнее можно посмотреть тут.
Публикация приложения
Если вы готовы опубликовать версию, сделайте следующее:
Публикуем приложения в Google Play и зарабатываем миллионы
Итак, за 30 дней вы научились создавать собственные приложения. Пора поделиться ими со всем миром и получить заветный миллион на блюдечке с голубой каёмочкой.
Так как мы волнуемся, то потренируемся на кошках. Возьмем, например, пример из статьи Пишем справочник и попытаемся выложить его в Google Play. Если все получится, то дальше будет проще.
Прежде чем приступать к дальнейшим операциям, убедитесь, что у вас готовы собственные значки для приложений и название программы. Будет очень странно увидеть в магазине приложений программу со стандартным значком и названием «HelloWorld». А также проверьте все записи в файле манифеста.
Шаг первый. Он трудный самый
Любое приложение, выкладываемое в магазин, должно иметь подписанный сертификат. Сертификат позволяет идентифицировать вас как автора программы. И если кто-то попытается выложить программу с таким же именем как у вас, то ему будет отказано из-за конфликта имён. Под именем приложения имеется в виду полное название пакета.
Когда вы запускали свои приложения на эмуляторе или своём телефоне, то среда разработки автоматически подписывала программу отладочным сертификатом. Для распространения через магазин отладочный сертификат не подходит, и вам нужно подписать приложение своим уникальным сертификатом. Это бесплатно, без регистрации и смс.
Появится диалоговое окно мастера, которое необходимо заполнить данными.
В первом поле Key store path нужно выбрать папку через кнопку . и ввести имя для файла с хранилищем, которому будет присвоено расширение jks.
Далее вы вернётесь обратно и продолжаете заполнять поля. Поля Password и Confirm в объяснении не нуждаются.
Теперь создаёте ключ для приложения. В поле Alias (Псевдоним) вводите понятное вам и котам название ключа. Не обязательно создавать псевдоним для каждого приложения, можете использовать один псевдоним для своих приложений и отдельные псевдонимы для приложений под заказ.
Для ключа также нужно создать пароль и подтвердить его.
Ключ расчитан на 25 лет. Поле Validity (years) оставляем без изменений (если у вас нет весомых причин в обратном).
Напоследок заполняете данные о себе.
Заполнив поля, вы вернёмся к самому первому окну мастера.
Нажимаем на кнопку Next и в следующем окне вводим ещё один пароль для доступа к базе паролей.
Возможно, этого шага у вас не будет. Он может появиться, если вы отметили флажком опцию «Запомнить пароль». Подробностей не помню, разберётесь сами.
Нажав кнопку Show in Explorer, вы запустите Проводник на вашем компьютере с папкой, в которой находится подписанный файл.
Будьте аккуратны с созданным ключом. Именно он является гарантией, что новая версия программы написана вами. Поэтому, если вы потеряете созданный ключ, вам придется выкладывать программу под другим именем с новым ключом.
В студии предусмотрен режим автоматического создания подписанного приложения. Щёлкните правой кнопкой мыши на папке app и в контекстом меню выберите пункт Open Module Settings. Выберите раздел app в секции Modules. Выберите вкладку Signing. Нажимаете на кнопку с плюсиком и заполняете поля.
Переходите на вкладку Build Types и выбираете сборку release. В выпадающем списке Signing Config выбираете только что созданную конфигурацию. По умолчанию она имеет имя config.
Нажимаем OK для сохранения результатов.
v2 Full APK
В 2017 году Google немного изменила процесс подписания. Теперь существуют две схемы получения подписи APK: v1 JAR и v2 Full APK.
Подпись v1 (который существовал с самого начала) не защищает некоторые части APK, такие как метаданные ZIP. Верификатор APK должен обрабатывать множество ненадёжных структур данных, а затем отбрасывать данные, которые не подписаны, что предоставляет большой простор для атаки. Кроме того, верификатор APK должен распаковать все сжатые записи, что тратит много времени и памяти. Для решения проблем была разработана новая версия v2 Full APK, которую вы встретите при подписании вашего приложения.
Схема v2 работает в Android 7.0 Nougat (API 25). Схема обеспечивает более быструю установку приложения и хорошую защиту от несанкционированных изменений в APK. Содержимое APK хешируется и подписывается, затем полученный блок подписи APK вставляется в APK.
Новый формат обратно совместим, поэтому APK, подписанные новой схемой, могут быть установлены на более ранних устройствах (которые будут просто игнорировать новую подпись), если эти APK также подписаны схемой v1.
В старых приложениях я оставляю флажок у первой версии. Возможно, позже заставят переходить на вторую версию принудительно. Важно учитывать, что подписывать схемой v1 нужно до подписания схемой v2, поскольку APK не пройдёт проверку по схеме v2, если он будет подписан дополнительными сертификатами после подписания схемой v2.
Строго говоря, вы можете apk-файл выложить у себя на сайте, и все ваши посетители могут его скачать и установить на телефон. Но это как-то несолидно в наш век нанотехнологий. Поэтому переходим к следующему шагу.
Шаг второй. Надо, Федя, надо
Следующий шаг очень неприятный. Вам нужно подарить 25 вечнозеленых чужому человеку. Чтобы вам было не так обидно, данную операцию назвали регистрационным взносом. Вам понадобится кредитная карточка с указанной суммой. Учтите, что Visa Electron, а уж тем более дисконтная карточка сети магазинов «Перекресток» вам не подойдут. Если у вас уже есть нужная карточка, то пропускаете этот абзац. Остальным могу посоветовать завести QIWI-кошелёк и там завести виртуальную карточку. Именно так я и поступил, так как идти в банк и писать всякие заявления было неохота.
Идём на страницу разработчиков, заполняем необходимые поля и расстаёмся с нужной суммой. Если операция пройдёт успешно, то вы сможете продвинуться дальше. В моем случае мне дважды отказывали, так как я пожадничал и положил на карточку меньшую сумму, чем требовалось (не учёл комиссию). Если вы позже доложили необходимую сумму, то не ждите, что её автоматически у вас спишут. Снова зайдите на страницу разработчика и отредактируйте данные о карточке (нужно еще раз написать код безопасности).
Шаг третий. Со счастливым концом
Если платёж прошел успешно, то ссылка на следующий шаг будет доступна и вы попадаете в специальный личный кабинет, где можете добавлять свои приложения.
Весь интерфейс на русском. Поэтому трудностей у вас не возникнет. Заливаем подготовленный APK-файл, а также необходимые картинки-скриншоты и значок.
Для своего первого приложения я не стал заморачиваться, а сделал всё на скорую руку.
В процессе добавления программы вы можете удалять картинки и файл приложения, снова их заливать и снова удалять. Иногда можно нажимать на кнопку Сохранить. Если вы сделаете что-то не так, то на странице появятся предупреждающие надписи. Если таких надписей нет, то можете смело нажимать на кнопку Публиковать. Всё! Ваше приложение доступно всему миру. За вами уже выехали.
Недавно в Google Play Developer Console добавили возможность тестирования приложений среди определённых пользователей. Если раньше вы загружали своё приложение и оно сразу становилось доступным всем, то теперь добавлены два промежуточных шага.
При загрузке новой версии приложения вам нужно выбрать раздел:
Если вы загрузите приложение в раздел Альфа-тестирования, то потом можете перевести его в бета-тестирование или сразу в Рабочую версию. Соответственно, из бета-тестирования можно перевести сразу в Рабочую версию. Обратно нельзя.
Если программа находится в стадии тестирования, то оно доступно только тестерам, другие пользователь не смогут найти вашу программу ни через поиск, ни по прямой ссылке.
Вам следует создать специальное сообщество в Google+ (указывается в настройках приложения) и пригласить туда нужных людей. Доверенные лица смогут затем перейти по ссылке play.google.com/apps/testing/com.yourdomain.package.
Ищет милиция, ищут пожарные
И вы сразу окажетесь в нужном месте и можете раздать ссылку своим друзьям. В последнее время добавление/обновление программы происходит достаточно медленно. Поэтому не стоит сразу искать свою программу, подождите пару часов.
Где деньги, Зин
Какой вы быстрый, однако. Есть два способа зарабатывания денег на своем приложении. Либо надо зарегистрироваться как продавец, либо как участник рекламной сети AdMob.
Открыть страницу приложения в Google Play
Учтите, что на эмуляторе код не сработает, так как в нём нет приложения Google Play. А пока можете зайти через телефон по указанному адресу и поблагодарить меня. Коты вам скажут Спасибо!.
Продвижение
На странице https://play.google.com/intl/ru_ru/badges/ на вкладке Badge Generator вы можете указать необходимые параметры, формирующие код для кнопки-баннера, который затем можете использовать в своём блоге или других местах. Например, так:
Автоматическое обновление
Если вы создали новую версию программы, исправив различные баги и добавив новые фотографии кота, то вам нужно в манифесте увеличить на единицу номер версии (атрибут versionCode) и заменить versionName для себя (будет показана на странице Google Play). В последних версиях студии данные свойства находятся теперь не в манифесте, а в файле build.gradle модуля вашего приложения. Закачайте новую версию на Google Play и пользователи получат обновление в автоматическом режиме.
Следим за отзывами
Установите на своём устройстве приложение Google Play Developer Console, чтобы не пропустить новый отзыв на вашу программу. Также вы можете просматривать статистику.
Меняем пароли хранилища и псевдонима ключа
Не пришлось пользоваться за несколько лет, поэтому не знаю, актуальна ли данная информация.
Допустим, вы продали свою программу с исходниками другой компании. Чтобы она могла выкладывать обновления программы, компания должна подписывать приложение тем же ключом, которым подписывали вы. Иначе программа будет считаться другой и придётся менять название пакета. Но тогда старые пользователи не смогут получить обновления.
Но если вы все свои программы подписываете одним и тем же ключом и паролем, например cat cat, то компания может подписать этим же ключом и другие ваши приложения, разместив свои программы с таким же именем пакета, и вы никому ничего не докажете.
Поэтому вам нужно позаботиться о смене ключа для передачи новому владельцу.
Предположим наше хранилище имеет структуру:
Сделайте копию вашего хранилища и сохраните его в другом месте. Это надо было сделать ещё при первом создании, потому что при потере хранилища вы не сможете восстановить доступ к своим программам при обновлении.
Сделайте копию вашего хранилища ещё раз и переименуйте его, например, new.keystore. С ним и будем работать.
Далее вам нужно изменить пароль хранилища, изменить псевдоним и изменить пароль псевдонима. Полученный файл передать новому владельцу.
Запускаем утилиту keytool с командой:
Вам будет предложено ввести текущий пароль, а затем ввести новый пароль и повторить его. Приблизительно так:
Первая часть задачи выполнена, пароль от хранилища изменён.
Если вы хотите также изменить и пароль от псевдонима, то снова запускаем утилиту с командой:
Вас попросят ввести текущий пароль от хранилища (ваш новый пароль), затем пароль для псевдонима. Вы можете ввести новый пароль и он заменит старый пароль.
Пароль от псевдонима изменён.
Если изменения пароля вам недостаточно и вы хотите изменить имя псевдонима (может вы использовали имя любимой кошки, зачем другим об этом знать), то продолжаем работу.
Вас попросят ввести пароль от хранилища, затем пароль для нового псевдонима (текущий пароль), затем новый пароль и повторить его. Имя псевдонима будет изменено.
Итак, нам понадобилось три шага, чтобы создать новое хранилище и псевдоним для передачи чужому человеку. Новый владелец должен проделать тоже самое, чтобы быть уверенным, что вы не воспользуетесь изменённым файлов в своих целях. Впрочем, это уже его проблемы.
Подписываем готовое приложение
Такой случай может подвернуться, когда у вас утеряны исходники и есть только APK. Скорее всего это актуально для пиратов, которые переподписывают другие приложения (не делайте так с чужими программами).
Сначала поменяйте расширение с apk на zip. В архиве удалите папку META-INF. Восстановите расширение. Вы удалили старую подпись.
Теперь нужно подписать приложение новым ключом. Введите команду.
В успешном случае получите сообщение, что приложение подписано. Далее выполняем ещё одну команду.
В результате должен получиться APK-файл, подписанный новым ключом. Сам ни разу не применял.
Хранение ключей у Гугла
В 2017 году Google добавил новую возможность хранить ключи в облачном хранилише. Основное отличие заключается в том, что вы подписываете приложение специальным ключом загрузки, который Google проверяет и удаляет, заменяя его оригинальным ключом подписи приложения, который вы предоставили.
С его помощью можно управлять ключами подписи приложений как для новых, так и для опубликованных приложений, которые будут храниться у Google в их собственном хранилище ключей. Чтобы присоединиться к этой программе, необходимо подписаться на неё в своей Google Play Console. Стоит отметить, что отписаться от неё уже будет невозможно.
App Bundle
Новый формат (доступен в Android 3.2 и выше) позволяет пользователю скачать специальную версию вашего приложения, которые содержит только нужный язык (value-en/strings.xml), картинку нужного разрешения (xxhdpi) и другие специфичные ресурсы. В результате итоговое приложение получается гораздо меньше по размеру.
Новый формат App Bundle имеет расширение .aab (Android App Bundle). Файл с этим расширением вы загружаете в Play Store вместо apk-файла. На основе вашего файла магазин приложений создаст различные варианты вашего приложения (apk).
Просмотреть структуру App Bundle можно через меню Build | Build Bundle(s)/APK(s) | Build Bundle(s). Сначала студия покажет всплывающее окно с указанием местоположения созданного файла.
Переходим по ссылке locate и видим наш файл app-debug.aab. Путь к файлу может быть таким: ..\YourApp\app\build\outputs\bundle\debug. Файл является стандартным zip-файлом, который можно посмотреть через любой подходящий архиватор.
Архив состоит из папок base, BUNDLE_METADATA и файла BundleConfig.pb.
Также могут быть директории с дополнительными особенностями, в этом случае каждой из них присваивается специальное имя feature1, feature2 и др.
Теперь при загрузке приложения в Play Store вы выбираете не apk-файл, а созданный aab-файл. После этого вы можете посмотреть, какую выгоду получит пользователь при загрузке своего варианта.
Если вам интересно посмотреть, как генеруются отдельные apk-файлы на основе App Bundle, то можете установить утилиту командной строки Bundletool.