← Все гайды AI Release
EN Подписаться на @ai_release1

Пошаговое руководство: как опубликовать частное приложение в Google Play и установить его на Android

Обновлено: 15.10.2026 · AI Release · @ai_release1
Пошаговое руководство: как опубликовать частное приложение в Google Play и установить его на Android

Приложение готово, но выкладывать его на всеобщее обозрение рано: оно нужно только вашей команде, заказчику или узкому кругу пользователей. Этот гайд — о том, как провести сборку через Google Play Console (веб-консоль разработчика, где публикуются приложения для Android) по закрытому контуру и поставить её на Android-устройство, не открывая приложение всему миру. Инструкция не привязана к конкретной версии Android: она подходит и для телефонов, и для планшетов, где есть Google Play. Мы разберём два сценария — внутренний тестовый трек (закрытый канал распространения сборки) и private app в Managed Google Play (корпоративный каталог приложений для сотрудников организации).

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

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Пошаговая инструкция

Иллюстрация к разделу «Пошаговая инструкция»
Иллюстрация к разделу «Пошаговая инструкция»

1. Зафиксируйте имя пакета и версию. Откройте `app/build.gradle` (или `build.gradle.kts`) и проверьте блок `defaultConfig`.

Пример:

defaultConfig {
    applicationId "com.example.myprivateapp"
    versionCode 1
    versionName "1.0"
}

Ожидаемый результат: имя пакета вида `com.example.myprivateapp` и версия `1.0` зафиксированы. Почему это важно: имя пакета — уникальный идентификатор приложения, после первой загрузки в Play его уже нельзя изменить.

2. Создайте ключ подписи. В терминале выполните:

Пример:

keytool -genkeypair -v \
  -keystore private-release.jks \
  -alias private_key \
  -keyalg RSA -keysize 2048 -validity 10000

Ожидаемый результат: утилита спросит пароль и данные организации, затем выведет строку вида «Generating 2 048 bit RSA key pair» и создаст файл `private-release.jks`. Почему это работает: Google Play принимает только подписанные сборки, а keystore — единственное доказательство, что релиз выпустили именно вы. Сразу сделайте резервную копию файла и пароля.

3. Пропишите подпись в Gradle и соберите бандл.

Пример:

./gradlew bundleRelease

Ожидаемый результат: в папке `app/build/outputs/bundle/release/` появится файл `app-release.aab`. Почему это работает: Google Play требует именно AAB — из него магазин сам нарезает APK под конкретное устройство, и бандл весит меньше для пользователя.

4. Проверьте сборку локально, до загрузки в магазин.

Пример:

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

Ожидаемый результат: команда `adb devices` покажет серийный номер подключённого телефона, а `adb install` завершится словом `Success`. Почему это работает: вы ловите ошибки запуска до модерации, а не после неё.

5. Создайте приложение в Google Play Console: раздел «Все приложения» → «Создать приложение». Укажите название, язык по умолчанию, тип «Приложение», статус «Бесплатное» и поставьте галочку согласия с политиками. Ожидаемый результат: появляется карточка приложения с пустым списком треков.

6. Заполните обязательные разделы карточки: описание, иконка, скриншоты, политика конфиденциальности, рейтинг контента, целевая аудитория, категория. Ожидаемый результат: в сводке публикации исчезают красные отметки «Требуется действие». Без этого трек не опубликуется, даже если он закрытый.

7. Загрузите бандл во внутренний трек. Откройте «Тестирование» → «Внутреннее тестирование» → «Создать новый выпуск», загрузите `app-release.aab`, добавьте заметки к выпуску и сохраните. Ожидаемый результат: сборка получает статус «Готово к публикации», номер версии виден в списке.

8. Добавьте тестировщиков. На вкладке «Тестировщики» создайте список e-mail-адресов и вставьте его в поле. Ожидаемый результат: после сохранения появляется ссылка вида `https://play.google.com/apps/internaltest/...` — её и отправляете людям. Почему так: обычный поиск в Google Play приложение не найдёт, пока вы не выпустите его в общий доступ.

9. Если приложение нужно только внутри организации, используйте Managed Google Play (корпоративный каталог приложений). Там private app публикуется для конкретной организации и не появляется в общем поиске Google Play. Ожидаемый результат: приложение видно только аккаунтам вашего домена.

10. Когда выпусков становится много, рутину стоит автоматизировать — об этом подробно в гайде Как автоматизировать публикацию приложений в App Store и Google Play с помощью ИИ-агентов. Ожидаемый результат: загрузка бандла и заполнение заметок к релизу перестают быть ручными шагами.

Чек-лист перед публикацией трека:

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

Иллюстрация к разделу «Возможные проблемы и решения»
Иллюстрация к разделу «Возможные проблемы и решения»

Симптом: тестировщик открывает ссылку и видит «Приложение не найдено» или «Элемент не найден».

Причина почти всегда в аккаунте: на устройстве активен другой Google-адрес, не входящий в список. Решение: откройте на телефоне «Настройки» → «Аккаунты» и убедитесь, что нужный e-mail добавлен и выбран в Google Play; затем проверьте, что адрес внесён в список тестировщиков и список сохранён; после этого подождите — изменения в Play растекаются не мгновенно.

Симптом: при загрузке бандла ошибка вида «App bundle was signed with the wrong key» или «ключ не совпадает».

Причина — сборка подписана другим keystore, чем в предыдущем выпуске. Решение: не создавайте новый ключ «наугад»; найдите исходный файл `.jks` и пароль, пересоберите бандл с ним и загрузите заново. Если ключ потерян безвозвратно, обращайтесь в поддержку Play — самостоятельно сбросить подпись нельзя.

Симптом: приложение доступно вам, но не устанавливается на телефон коллеги — магазин пишет «недоступно в вашей стране».

Причина — в настройках трека не отмечены страны распространения. Решение: в треке откройте «Страны и регионы», добавьте нужную страну, сохраните и опубликуйте изменения. Ожидаемый результат: ссылка начинает открываться у всех из списка тестировщиков.

Если Google Play по каким-то причинам недоступен, как альтернативный канал на Android посмотрите Как скачивать и устанавливать ИИ-приложения на Android через RuStore.

FAQ

Можно ли опубликовать приложение только для сотрудников, а не для всех?

Да. Для небольшой команды подходит внутренний или закрытый трек: сборка видна только людям из списка e-mail. Для организации с собственным доменом есть Managed Google Play — там private app появляется в корпоративном каталоге и не индексируется в обычном поиске магазина.

Что загружать в Google Play — APK или AAB?

В Google Play загружается AAB: магазин сам собирает из него установочный файл под конкретное устройство. APK пригодится для быстрой проверки вручную — например, через `adb install`.

Увидят ли приложение обычные пользователи, пока идёт тестирование?

Нет. Пока вы не выпустите сборку в открытый доступ, приложение не находится поиском в Google Play, а ссылку получают только тестировщики из списка.

Нужно ли проходить модерацию для закрытого трека?

Да, проверка касается любого выпуска. Первый выпуск обычно рассматривается дольше последующих, поэтому закладывайте запас по времени и не планируйте демонстрацию «завтра утром».

Как выпустить обновление?

Увеличьте `versionCode` в `build.gradle`, соберите новый `app-release.aab` тем же keystore и загрузите его в тот же трек. Тестировщики получат обновление обычным способом — через Google Play.

🤖 Кратко для ИИ