Руководство по загрузке приложений в формате ААВ в RuStore Консоль
В RuStore Консоль доступна загрузка файлов в формате ААВ (Android App Bundle). Этот формат помогает уменьшить размер файла, который пользователь скачивает из RuStore, и ускорить установку приложения.
Чтобы загрузить в RuStore Консоль версию приложения в формате ААВ:
Загрузка подписи приложения
Все APK-файлы подписываются ключом подписи приложения. После этого их можно загружать в магазины приложений и передавать пользователям.
С файлами AAB процедура подписи отличается:
- Разработчик подписывает файл AAB ключом загрузки и загружает сборку в RuStore.
- RuStore подтверждает личность разработчика с помощью сертификата ключа загрузки. Если проверка пройдена, RuStore формирует набор APK-файлов из AAB-файла и подписывает каждый APK ключом подписи приложения.
- Пользователи загружают из RuStore подписанные APK-файлы.
Таким образом, вместе с файлом AAB вам необходимо загрузить в RuStore Консоль сертификат ключа загрузки и подпись приложения.
-
В RuStore Консоль откройте вкладку «Приложения», выберите или добавьте новое приложение, а затем нажмите «Загрузить версию».
-
Нажмите «Загрузить» напротив предупреждения «Подпись не загружена».
Откроется окно «Загрузка подписи приложения».
-
Загрузите ZIP-архив с подписью приложения и сертификат ключа загрузки в формате PEM. Подготовить эти файлы вы можете любым подходящим способом:
Для подготовки файлов подписи нужно устанавливать Java, запускать команды в терминале, а также использовать хранилище ключей вашего приложения (keystore).
Если вы загружаете файлы в RuStore Консоль, но не занимаетесь их подготовкой, рекомендуем запросить файлы подписи у разработчиков приложения.
Способ 1: Загрузка существующей подписи
Используйте этот способ, если вы уже работали с форматом AAB и у вас есть сертификат ключа загрузки в формате PEM. Если же вы загружаете файл AAB впервые и у вас нет ключа, используйте другой способ — создание новой подписи.
На вашем компьютере должна быть установлена Java версии 11 или выше.
-
Скачайте PEPK из окна «Загрузка подписи приложения» и переместите
pepk.jar
в каталогС:\Users\user
или/Users/user
. -
Скопируйте команду для запуска PEPK и замените в ней аргум енты:
-
ваше_хранилище_ключей
— название хранилища ключей, в котором хранятся ключи подписи для вашего приложения. Например,С:\Users\user\keys\keystore
или/Users/user/keys/keystore
.примечание-
Название хранилища ключей и путь до него можно уточнить в Android Studio: Build — Generate Signed Bundle/APK — Android App Bundle — поле Key Store Path.
-
Ваше хранилище ключей может быть в формате
.jks
. В этом случае импортируйте его содержимое в новое хранилище в формате.keystore
. Формат команды следующий:keytool -importkeystore -srckeystore ваше_хранилище_ключей.jks -destkeystore новое_хранилище_ключей.keystore -srcstorepass пароль_от_jks -deststorepass пароль_от_keystore
В Windows перед использованием утилиты
keytool
предварительно перейдите в каталогbin
установленной Java. Ваш путь и версия Java могут отличаться:cd "C:\Program Files (x86)\Java\jre1.8.0_201\bin"
-
-
имя_ключа
— название ключа подписи приложения, напримерsign
. -
новый_путь_для_созданного_сертификата/
— каталог, в котором нужно разместить создаваемый ZIP-архив с подписью приложения. Например,С:\Users\user\keys\
или/Users/user/keys/
.
Пример команды с изменёнными аргументами:
- Windows
- macOS
java -jar pepk.jar --keystore С:\Users\user\keys\keystore.keystore --alias sign --output С:\Users\user\keys\pepk_out.zip --encryptionkey=00000... --include-cert
java -jar pepk.jar --keystore /Users/user/keys/keystore.keystore --alias sign --output /Users/user/keys/pepk_out.zip --encryptionkey=00000... --include-cert
-
-
Получите ZIP-архив с подписью приложения, запустив в терминале команду из предыдущего шага.
Когда те рминал запросит пароль для хранилища ключей, введите его и нажмите Enter. Затем аналогично укажите пароль для ключа.
предупреждениеФайл
pepk.jar
должен находиться в том же каталоге, из которого вы запускаете команду. -
Получите сертификат ключа загрузки, которым вы подписывали приложение в формате AAB.
a. (Для Windows) Перед использованием утилиты
keytool
предварительно перейдите в каталогbin
установленной Java. Ваш путь и версия Java могут отличаться:cd "C:\Program Files (x86)\Java\jre1.8.0_201\bin"
b. Экспортируйте сертификат открытого ключа загрузки из вашего хранилища ключей в PEM-файл:
keytool -exportcert -alias ключ_загрузки -keystore ваше_хранилище_ключей.keystore -rfc -file сертификат_загрузки.pem
ключ_загрузки
— название ключа загрузки, которым вы подписывали приложение в формате AAB.ваше_хранилище_ключей
— название хранилища ключей, которое вы использовали ранее.сертификат_загрузки
— название сертификата ключа загрузки, который создает команда. Например,С:\Users\user\keys\uploadcert
или/Users/user/keys/uploadcert
.
-
Загрузите в RuStore Консоль:
- ZIP-архив с подписью приложения.
Он размещается в каталоге, который вы указали на 2 шаге в параметре
--output
. - Сертификат ключа загрузки в формате PEM, которым подписан файл приложения в формате AAB.
Он размещается в каталоге, который вы указали на 4 шаге в параметре
-file
.
- ZIP-архив с подписью приложения.
Он размещается в каталоге, который вы указали на 2 шаге в параметре
-
Завершите загрузку подписи, нажав «Отправить подпись».
- Подпишите приложение в формате AAB созданным ключом загрузки перед тем, как загружать его в RuStore.
- Убедитесь, что в архиве
pepk_out.zip
загру жена подпись, которой вы подписывали приложение в формате APK ранее.
Далее загрузите файл ААВ приложения.
Способ 2: Создание и загрузка новой подписи
Используйте этот способ, если вы впервые работаете с форматом AAB и ключа загрузки у вас пока нет. Если же у вас уже есть ключ загрузки, используйте другой способ — загрузка существующей подписи.
На вашем компьютере должна быть установлена Java версии 11 или выше.
-
Сгенерируйте новую пару ключей подписи. Это можно сделать в Android Studio (Build — Generate Signed Bundle/APK — Android App Bundle) или в терминале:
a. (Для Windows) Перед использованием утилиты
keytool
предварительно перейдите в каталогbin
установленной Java. Ваш путь и версия Java могут отличаться:cd "C:\Program Files (x86)\Java\jre1.8.0_201\bin"
b. Запустите генерацию подписи командой:
keytool -keystore ваше_хранилище_ключей.keystore -genkey -alias имя_ключа -keyalg RSA -validity 36500
ваше_хранилище_ключей
— название хранилища ключей. Например,С:\Users\user\keys\keystore
или/Users/user/keys/keystore
.имя_ключа
— название ключа подписи приложения, напримерsign
.
с. Введите пароль для хранилища ключей, параметры владельца (имя, департамент, организация, город, страна — часть можно пропустить) и пароль для ключа подписи.
предупреждениеСохраните пароли. Их нужно будет вво дить каждый раз при работе с хранилищем ключей и ключом подписи.
-
Скачайте PEPK из окна «Загрузка подписи приложения» и переместите
pepk.jar
в каталогС:\Users\user
или/Users/user
. -
Скопируйте команду для запуска PEPK и замените в ней аргументы:
ваше_хранилище_ключей
— название хранилища ключей, которое вы указали ранее.имя_ключа
— название ключа подписи приложения, которое вы указали ранее.новый_путь_для_созданного_сертификата/
— каталог, в котором нужно разместить создаваемый ZIP-архив с подписью приложения. НапримерС:\Users\user\keys\
или/Users/user/keys/
.
Пример команды с изменёнными аргументами:
- Windows
- macOS
java -jar pepk.jar --keystore С:\Users\user\keys\keystore.keystore --alias sign --output С:\Users\user\keys\pepk_out.zip --encryptionkey=00000... --include-cert
java -jar pepk.jar --keystore /Users/user/keys/keystore.keystore --alias sign --output /Users/user/keys/pepk_out.zip --encryptionkey=00000... --include-cert
-
Получите ZIP-архив с подписью приложения, выполнив команду из предыдущего шага.
Когда терминал запросит пароль для хранилища ключей, введите его и нажмите Enter. Затем аналогично укажите пароль для ключа.
предупреждениеФайл
pepk.jar
должен находиться в том же каталоге, из которого вы запускаете команду. -
Сгенерируйте ключ загрузки, которым вы подпишите приложение в формате AAB:
keytool -keystore ваше_хранилище_ключей.keystore -genkey -alias ключ_загрузки -keyalg RSA -validity 36500