Как опубликовать приложение Lightbuild

Чтобы опубликовать приложение в Google Play, создайте его конечную версию в виде набора Android App Bundle, подпишите ключом загрузки и добавьте в Play Console. На этой странице рассказывается, как настроить подпись выпуска в проекте Lightbuild и создать подписанный набор App Bundle с помощью Lightbuild CLI.

Как создать ключ загрузки

Google Play использует функцию подписания приложений в Google Play, чтобы подписывать APK-файлы, которые доставляются пользователям. Вы подписываете наборы App Bundle, которые загружаете с помощью ключа загрузки. Если у вас ещё нет ключа загрузки, создайте его с помощью утилиты keytool, которая входит в состав JDK:

keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

Команда запросит пароли для хранилища ключей и ключа, а затем создаст файл хранилища ключей с именем upload-keystore.jks в текущем каталоге. Храните его в безопасном месте за пределами проекта и не добавляйте в систему управления версиями. Подробнее о том, как подписать приложение…

Настройте подпись выпуска

В файле lightbuild.yaml модуля приложения добавьте блок signing в профиль release в packaging. Вместо того чтобы указывать пароли в файле, сошлитесь на переменные среды, используя синтаксис ${NAME}:

android:
  packaging:
    release:
      signing:
        storeFile: "${RELEASE_STORE_FILE}"
        storePassword: "${RELEASE_STORE_PASSWORD}"
        keyAlias: "${RELEASE_KEY_ALIAS}"
        keyPassword: "${RELEASE_KEY_PASSWORD}"

При сборке Lightbuild считывает каждое значение из переменной среды, поэтому пароли не хранятся в файлах проекта. Подробную информацию об этих настройках можно найти в разделе Упаковка справочника по конфигурации Lightbuild.

Настройте переменные среды

Перед сборкой задайте переменные среды в терминале, где вы запускаете Lightbuild CLI. Например, в macOS или Linux:

export RELEASE_STORE_FILE="$HOME/keystores/upload-keystore.jks"
export RELEASE_STORE_PASSWORD="KEYSTORE_PASSWORD"
export RELEASE_KEY_ALIAS="upload"
export RELEASE_KEY_PASSWORD="KEY_PASSWORD"

В Windows в PowerShell:

$env:RELEASE_STORE_FILE = "$HOME\keystores\upload-keystore.jks"
$env:RELEASE_STORE_PASSWORD = "KEYSTORE_PASSWORD"
$env:RELEASE_KEY_ALIAS = "upload"
$env:RELEASE_KEY_PASSWORD = "KEY_PASSWORD"

Замените KEYSTORE_PASSWORD и KEY_PASSWORD своими паролями. В системе непрерывной интеграции храните пароли как секреты и передавайте их в сборку как переменные среды.

Создайте подписанный набор App Bundle

Перед каждым выпуском увеличивайте значение versionCode в файле lightbuild.yaml модуля приложения и при необходимости обновляйте versionName. Для каждой загрузки в Google Play требуется более высокий код версии. Узнать больше можно из статьи Добавление информации о версии приложения.

Чтобы создать подписанный набор App Bundle, выполните следующую команду:

lightbuild build app:app-release.aab

Lightbuild записывает пакет в app/build/app-release.aab. Чтобы узнать, куда записываются выходные данные каждой цели модуля приложения, выполните команду lightbuild query app/... --output=files.

Загрузите приложение в Google Play

Загрузите подписанный набор App Bundle в Play Console. Чтобы протестировать приложение перед выпуском, загрузите его на канал внутреннего тестирования. Подробнее о том, как загрузить приложение в Play Console…