Android

Подготовка релиза Android-приложения: полное руководство

Это руководство подробно описывает процесс подготовки Android-приложения к выпуску, включая создание keystore, настройку Gradle, сборку релизного пакета и публикацию в Google Play Console.

Обновлено 17 февраля 2026 г.
20-30 мин
Средняя
FixPedia Team
Применимо к:Android Studio 2023.2+Gradle 8.0+Android SDK 33+

Введение

Подготовка релиза Android-приложения — ключевой этап перед публикацией в Google Play или других магазинах. Этот процесс включает настройку сборки, подписание кода и загрузку пакета в консоль разработчика. Следование этому руководству поможет избежать распространённых ошибок и обеспечить беспрепятственный выпуск приложения.

Требования и подготовка

Перед началом убедитесь, что у вас есть:

  • Android Studio последней стабильной версии (рекомендуется 2023.2 или выше) с установленным Android SDK.
  • JDK (Java Development Kit) версии 11 или выше для использования keytool.
  • Ключ релиза (keystore) или возможность создать новый.
  • Аккаунт разработчика Google Play (платная регистрация).
  • Базовые знания работы с Android Studio и системой сборки Gradle.

Также убедитесь, что ваше приложение готово к релизу: все функции протестированы, ресурсы оптимизированы, а версии versionCode и versionName в build.gradle обновлены.

Шаг 1: Создание или подготовка keystore

Ключ релиза (keystore) — это хранилище цифровых сертификатов, которые подписывают APK или AAB. Без правильного keystore вы не сможете обновлять приложение в будущем.

Если keystore уже существует, убедитесь, что вы знаете пароль, псевдоним (alias) и расположение файла. Если keystore нужно создать, выполните команду в терминале:

keytool -genkeypair -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias

Команда запросит:

  • Пароль для keystore (запомните его).
  • Информацию о владельце (имя, организация, страна и т.д.) — можно заполнить условно.
  • Псевдоним (alias) — например, my-key-alias.

⚠️ Важно: Храните keystore и пароли в надёжном месте (например, в менеджере паролей). Потеря keystore означает невозможность обновления приложения в Google Play.

Шаг 2: Настройка signingConfigs в build.gradle

Откройте файл build.gradle (на уровне модуля app) и настройте подписание для конфигурации release.

Для Groovy DSL (build.gradle):

android {
    signingConfigs {
        release {
            storeFile file('my-release-key.jks') // Путь к keystore
            storePassword 'your_store_password' // Пароль keystore
            keyAlias 'my-key-alias' // Псевдоним ключа
            keyPassword 'your_key_password' // Пароль ключа
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true // Опционально: включите обфускацию
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

Для Kotlin DSL (build.gradle.kts):

android {
    signingConfigs {
        create("release") {
            storeFile = file("my-release-key.jks")
            storePassword = "your_store_password"
            keyAlias = "my-key-alias"
            keyPassword = "your_key_password"
        }
    }
    buildTypes {
        getByName("release") {
            signingConfig = signingConfigs.getByName("release")
            isMinifyEnabled = true
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
}

💡 Совет: Не храните пароли в открытом виде в build.gradle. Используйте переменные среды или файл gradle.properties:

MYAPP_RELEASE_STORE_FILE=my-release-key.jks
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=your_store_password
MYAPP_RELEASE_KEY_PASSWORD=your_key_password

И в build.gradle обратитесь к ним через project.findProperty("MYAPP_RELEASE_STORE_PASSWORD") as String.

Шаг 3: Сборка релизного пакета

В Android Studio:

  1. Выберите Build → Build Bundle(s) / APK(s).
  2. Для публикации в Google Play рекомендуется Build Bundle(s) (создаст .aab файл). Если нужен APK, выберите Build APK(s).
  3. Убедитесь, что в диалоге выбрана конфигурация release.
  4. После сборки файлы будут в:
    • Для AAB: app/build/outputs/bundle/release/app-release.aab
    • Для APK: app/build/outputs/apk/release/app-release.apk

⚠️ Важно: Если сборка завершилась с ошибками, проверьте настройки signingConfigs и убедитесь, что keystore доступен.

Шаг 4: Тестирование релизной сборки

Перед публикацией обязательно протестируйте релизную версию, так как она может отличаться от отладочной (например, из-за обфускации).

Для APK:

Установите APK на устройство через ADB:

adb install -r app/build/outputs/apk/release/app-release.apk

Флаг -r перезапишет существующее приложение.

Для AAB:

Сгенерируйте APK из AAB с помощью bundletool (скачайте его с GitHub):

bundletool build-apks --bundle=app-release.aab --output=app.apks --ks=my-release-key.jks --ks-key-alias=my-key-alias --ks-pass=pass:your_store_password --key-pass=pass:your_key_password

Затем установите APK:

bundletool install-apks --apks=app.apks

Проверьте все основные сценарии использования, производительность и стабильность. Особое внимание уделите функциям, зависящим от подписи (например, динамические модули или интеграции с API).

Шаг 5: Подготовка к публикации в Google Play Console

  1. Войдите в Google Play Console с аккаунтом разработчика (стоимость $25).
  2. Создайте приложение (если его нет): нажмите "Создать приложение", выберите язык, укажите название и тип приложения.
  3. Загрузите пакет:
    • В разделе Производство (Production) или Тестирование (Testing) нажмите "Создать выпуск".
    • Загрузите файл .aab или .apk. Google Play обработает его и проверит на соответствие политикам.
  4. Заполните метаданные:
    • Описание: краткое и полное, с ключевыми словами.
    • Графика: иконка приложения (512x512), скриншоты (минимум 2 для телефона), Feature Graphic (1024x500).
    • Категория: выберите подходящую.
    • Контактные данные: email, сайт, телефон.
  5. Настройте распространение:
    • Страны: выберите регионы для публикации.
    • Цены: бесплатно или платно, настройте валюту.
    • Возрастные ограничения: в соответствии с контентом приложения.
  6. Проверьте и отправьте:
    • Нажмите "Проверить выпуск", исправьте ошибки (если есть).
    • Затем "Запустить выпуск в производство" или "Начать тестирование" (для alpha/beta).

Шаг 6: Публикация приложения

После успешной проверки Google Play (обычно от нескольких часов до дней) вы можете выпустить приложение:

  1. В Google Play Console перейдите в раздел Выпуски → Производство.
  2. Нажмите "Управление выпуском" для вашего релиза.
  3. Выберите "Выпустить" для публикации в продакшен.
  4. Для постепенного выпуска (staged rollout) укажите процент пользователей (например, 10%), чтобы сначала собрать отзывы.

Мониторьте статус в консоли: приложение появится в Google Play после обработки (может занять до 24 часов). Проверьте ссылку на приложение и убедитесь, что все данные корректны.

Проверка результата

  • Откройте страницу вашего приложения в Google Play с разных устройств.
  • Убедитесь, что приложение устанавливается и запускается.
  • Проверьте Статистику в Google Play Console: установки, сбои, отзывы.
  • Если используется staged rollout, следите за обратной связью от первых пользователей.

Возможные проблемы

Ошибка подписи при сборке

  • Симптом: Signing config release is missing или Keystore file not found.
  • Решение: Проверьте путь к keystore в build.gradle, убедитесь, что файл существует. Используйте абсолютный или правильный относительный путь.

Несоответствие версии versionCode

  • Симптом: Google Play отклоняет загрузку с ошибкой "Version code must be higher than previous version".
  • Решение: Увеличьте versionCode в build.gradle для каждого нового релиза. versionCode — целое число, которое всегда должно расти.

Провал валидации Google Play

  • Симптом: Ошибки при проверке, например, "Policy violation" или "App bundle contains native code".
  • Решение: Внимательно прочитайте политики Google Play. Убедитесь, что приложение не содержит вредоносного кода, правильно использует разрешения, и все библиотеки совместимы.

Утерянный keystore

  • Симптом: Нет доступа к keystore для подписания обновлений.
  • Решение: К сожалению, без keystore обновить приложение невозможно. Придётся создать новое приложение с новым package name и keystore. Это подчёркивает важность резервного копирования keystore.

Долгая проверка в Google Play

  • Симптом: Выпуск завис в статусе "В процессе проверки" дольше обычного.
  • Решение: Обычно проверка занимает от нескольких часов до 2 дней. Если прошло больше 7 дней, проверьте email на уведомления от Google Play или обратитесь в поддержку через консоль.

Часто задаваемые вопросы

Что такое ключ релиза и зачем он нужен?
Можно ли использовать тот же keystore для всех приложений?
Что такое Android App Bundle (AAB) и зачем он нужен?
Как долго действует ключ релиза?

Полезное

Создание или подготовка keystore
Настройка signingConfigs в Gradle
Сборка релизного пакета
Тестирование релизной сборки
Подготовка к публикации в Google Play Console
Публикация приложения

Эта статья помогла вам решить проблему?