Skip to content

Latest commit

 

History

History
141 lines (93 loc) · 6.01 KB

File metadata and controls

141 lines (93 loc) · 6.01 KB

Релизный процесс

Секреты для подписи

Секреты для подписи хранятся в отдельном приватном репозитории: git@github.com:easydev991/android-secrets.git

Команды make release и make apk автоматически загружают их по SSH во временную директорию и копируют в .secrets/ перед сборкой. Временная директория очищается автоматически.

Требования:

  • SSH-доступ к GitHub (настраивается через make setup_ssh)
  • Ключ добавлен в GitHub аккаунт

Создание сборки

Релизный AAB (для публикации в магазине)

Для создания подписанной AAB-сборки выполните:

make release

Команда автоматически:

  1. Увеличивает номер сборки (VERSION_CODE) на 1
  2. Создает подписанную AAB-сборку: dayscounter{VERSION_CODE}.aab (например, dayscounter1.aab, dayscounter2.aab)
  3. Отображает версию и номер сборки

Релизный APK (для распространения вручную)

Для создания подписанного APK есть команда:

make apk

Команда автоматически:

  1. Создает подписанный APK-файл: dayscounter{VERSION_CODE}.apk (например, dayscounter1.apk, dayscounter2.apk)
  2. Отображает версию и номер сборки
  3. Не увеличивает номер сборки (VERSION_CODE)

Управление версией

Версия приложения (VERSION_NAME)

Отображается в магазине приложений. Изменяется вручную в gradle.properties:

VERSION_NAME=1.0

Примеры версий:

  • 1.0 - первый релиз
  • 1.1 - минорное обновление с новыми функциями
  • 2.0 - мажорное обновление с изменениями в функционале

Номер сборки (VERSION_CODE)

Автоматически увеличивается при каждом make release. Изменения вручную не требуется.

Формат: целое число, монотонно возрастающее.

VERSION_CODE=1

Пример:

VERSION_NAME=1.0, VERSION_CODE=1 → make release → VERSION_CODE=2 → AAB: dayscounter2.aab (1.0 build 2)
VERSION_NAME=1.0, VERSION_CODE=2 → make release → VERSION_CODE=3 → AAB: dayscounter3.aab (1.0 build 3)
VERSION_NAME=1.1, VERSION_CODE=3 → make release → VERSION_CODE=4 → AAB: dayscounter4.aab (1.1 build 4)

Примечание: Номер сборки (VERSION_CODE) никогда не сбрасывается при повышении версии приложения, поэтому он всегда уникален и монотонно возрастает.

Публикация

  • Для публикации в магазине приложений используется файл dayscounter.aab
  • Для ручного распространения используется файл dayscounter.apk

Скриншоты

Генерация скриншотов

Для генерации скриншотов выполните:

make screenshots

Эта команда:

  1. Собирает APK для скриншотов
  2. Запускает fastlane для захвата скриншотов на эмуляторе
  3. Генерирует скриншоты для локалей ru-RU и en-US в папку fastlane/metadata/android/

Важно: Для успешного создания скриншотов необходимо чтобы был запущен эмулятор с соответствующими требованиями для RuStore:

  • Соотношение сторон экрана: 9 x 16
  • Рекомендуемое разрешение: 1080 х 1920

Обновление README.md

После генерации скриншотов нужно выполнить команду для обновления таблицы скриншотов в README.md:

make update_readme

Эта команда автоматически:

  1. Находит актуальные файлы скриншотов по шаблону {номер}-{описание}_{временнаяМетка}.png
  2. Заменяет HTML-комментарии в README.md на реальные теги <img> с путями к файлам
  3. Использует скриншоты только из локали ru-RU

Порядок работы:

# 1. Сгенерировать скриншоты
make screenshots

# 2. Обновить таблицу в README.md
make update_readme

# 3. Зафиксировать изменения в гите