Skip to content

Latest commit

 

History

History
145 lines (95 loc) · 6.46 KB

File metadata and controls

145 lines (95 loc) · 6.46 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{VERSION_CODE}.aab, который создается командой make release
  • Для ручного распространения используется файл dayscounter{VERSION_CODE}.apk, который создается командой make apk

Скриншоты

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

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

make screenshots

Эта команда:

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

Примечание по структуре проекта:

  • screenshot-tests/ — модуль инструментальных тестов, который делает снимки
  • fastlane/metadata/android/ — папка с итоговыми PNG для публикации

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

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

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

Команда make screenshots автоматически вызывает make update_readme в конце выполнения.

При необходимости можно запустить обновление README.md отдельно:

make update_readme

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

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

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

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

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