Опишите, как происходит процесс деплоя Android-приложения.android-247

Подготовка к релизу

android {
    defaultConfig {
        versionCode 42  // Увеличиваем с каждым релизом
        versionName "1.2.0"  // Semantic versioning
    }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "secret"
            keyAlias "alias"
            keyPassword "secret"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
  1. Настройка версионирования:

    • versionCode - целое число (обязательно увеличивать)
    • versionName - пользовательская версия (SemVer рекомендован)
  2. Подпись приложения:

    • Генерация keystore (ключ должен храниться безопасно!)
    • Настройка signingConfig в build.gradle
  3. Оптимизация:

    • Включение ProGuard/R8 для обфускации и минификации
    • Удаление логов и debug-функционала

Сборка релизного APK/AAB

./gradlew assembleRelease  # для APK
./gradlew bundleRelease   # для App Bundle

Форматы:

  • APK (устаревает) - один файл для всех устройств
  • AAB (рекомендуется) - Google генерирует оптимизированные APK

Тестирование релизной сборки

  1. Внутреннее тестирование (Internal testing)
  2. Закрытое тестирование (Closed testing)
  3. Открытое тестирование (Open testing)

Публикация в Google Play Console

Шаги:

  1. Создание нового релиза в разделе "Производство"

  2. Загрузка AAB/APK файла

  3. Заполнение информации о релизе:

    • Что нового (release notes)
    • Поддерживаемые устройства
    • Страны распространения
  4. Content Rating - заполнение анкеты рейтинга

  5. Цензура (если требуется)

Этапы публикации

  1. Регистрация (до 48 часов для нового приложения)
  2. Предмодерация (обычно несколько часов)
  3. Постепенный релиз (можно установить % пользователей)
  4. Полный релиз (100% пользователей)

Альтернативные способы деплоя

  1. Firebase App Distribution:
gradlew assembleRelease
firebase appdistribution:distribute app-release.apk
  1. Собственный сервер:

    • Прямая загрузка APK
    • Использование DownloadManager
  2. Huawei AppGallery:

    • Аналогичный Google Play процесс

Best Practices

  1. Постепенный релиз (20% → 50% → 100%)
  2. Откат-стратегия (подготовка patch-версии)
  3. Мониторинг (Crashlytics, Play Console отчеты)
  4. Резервные копии (хранить все релизные keystore)

Резюмируем:

процесс деплоя включает подготовку релизной сборки, подпись, тестирование, публикацию через Play Console и мониторинг после выпуска. Современный подход рекомендует использование App Bundle и постепенного релиза для минимизации рисков.