Перейти к содержимому

Инструкции по настройке · Godot

Закрытое тестирование Google Play для игр на Godot

Godot 4 умеет экспортировать Android App Bundle, но только через сборку Gradle с релизным хранилищем ключей. Здесь весь путь от пресета экспорта до закрытого трека и то, как удержать 12 тестировщиков 14 дней.

Сборка
Export Format: AAB (Use Gradle Build)
Код версии
Version → Code
Целевой API
Gradle Build → Target SDK ≥ 36

Экспортируйте Android App Bundle

  1. Укажите Godot путь к Java и Android SDK

    Установите JDK (рекомендуется OpenJDK 17) и Android SDK, затем задайте Java SDK Path и Android SDK Path в разделе Android окна Editor Settings. Новые версии могут скачать и то и другое сами.

  2. Скачайте шаблоны экспорта

    Откройте Editor → Manage Export Templates и установите шаблоны точно для вашей версии редактора.

  3. Установите шаблон сборки Android

    Выберите Project → Install Android Build Template (в новых версиях пункт называется Setup Android Build…). Godot создаст проект Gradle в res://android/build.

  4. Создайте пресет

    В Project → Export добавьте пресет Android. В разделе Gradle Build включите Use Gradle Build и установите Export Format в AAB.

  5. Экспортируйте

    Нажмите Export Project, снимите флажок Export With Debug и сохраните .aab.

Экспорт в AAB работает только со сборкой Gradle. Готовый шаблон по умолчанию экспортирует APK, а Google Play с августа 2021 года требует App Bundle для новых приложений.

На сервере сборки тот же пресет можно экспортировать без интерфейса:

Terminal
godot --headless --export-release "Android" builds/mygame.aab

Релизное хранилище ключей и подписание приложений в Google Play

Google Play нужна подпись не отладочным ключом. Создайте релизное хранилище ключей командой keytool:

Terminal
keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

В пресете Android в разделе Keystore заполните Release (путь к файлу), Release User (псевдоним) и Release Password. Сейчас Godot требует, чтобы пароль хранилища и пароль ключа совпадали, и надёжнее всего использовать только буквы и цифры.

Это хранилище — ваш ключ загрузки. При первой загрузке настраивается подписание приложений в Google Play, и ключ подписи приложения хранит Google. В CI не храните секреты в export_presets.cfg, а передавайте их через переменные окружения:

CI environment
GODOT_ANDROID_KEYSTORE_RELEASE_PATH=/secrets/mygame.keystore
GODOT_ANDROID_KEYSTORE_RELEASE_USER=mygame
GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD=*****

Код версии и целевой SDK

В пресете Version → Code — целое число, которое сравнивает Google; увеличивайте его при каждой загрузке, потому что повторные коды Play Console отклоняет. Version → Name видят игроки.

С 31 августа 2026 года новые приложения и обновления должны быть нацелены на Android 16 (уровень API 36). В разделе Gradle Build поле Target SDK задаёт targetSdkVersion; если оно пустое, действует значение шаблона по умолчанию. Если у вашей версии Godot оно ниже 36, укажите значение явно или обновите Godot, а затем проверьте экспорт на свежем устройстве.

Ловушки Godot

  • Несовпадающие шаблоны. Шаблоны экспорта и шаблон сборки Android должны соответствовать версии редактора. После обновления Godot переустановите оба.
  • Забытый Export With Debug. Тогда бандл подписывается отладочным хранилищем, и Play Console его отклоняет.
  • Нет arm64-v8a. В разделе Architectures оставьте включённым arm64-v8a: Google Play требует 64-битный нативный код.
  • Папки, начинающиеся с подчёркивания. В сборках Gradle ресурсы из папки, имя которой начинается с _, не попадают в пакет. Тестировщики увидят пропавшие текстуры или сцены.
  • Спецсимволы в паролях. Из-за них экспорт может падать с непонятными ошибками. Используйте буквы и цифры.
  • Проекты на C#. Экспорт в Android для C# доступен с Godot 4.2, но всё ещё экспериментальный. Проверяйте релизный бандл на реальных устройствах как можно раньше.

Отлаживайте сбои и ошибки от тестировщиков

Экспорт Godot выполняет ваши скрипты поверх заранее скомпилированной библиотеки движка, поэтому большинство отчётов тестировщиков оказываются ошибками скриптов, отсутствующими ресурсами или проблемами отрисовки на конкретном устройстве, а не сбоями движка. Быстрее всего увидеть их на собственном телефоне с подключённым редактором.

  1. Развёртывайте в один клик

    Включите на телефоне режим разработчика и отладку по USB, подключите его и убедитесь, что пресет Android отмечен как Runnable. Тогда в правом верхнем углу редактора появится кнопка Android, которая экспортирует и устанавливает игру в один клик.

  2. Включите удалённую отладку

    Когда включено Debug → Deploy with Remote Debug, игра на телефоне подключается к вашему компьютеру, и отладчик, точки останова и вывод ошибок редактора работают так же, как на десктопе.

  3. Перейдите на беспроводную отладку, если USB ненадёжен

    Включите на телефоне беспроводную отладку, выполните сопряжение через adb pair с показанным кодом и проверьте командой adb devices. Если adb devices не показывает телефон, Godot его тоже не увидит.

  4. Проверяйте Play Console после каждой загрузки

    Сбои движка появляются в разделе Мониторинг и улучшение → Android Vitals → Сбои и ANR. Отчёт перед запуском также автоматически устанавливает каждую загруженную сборку на тестовые устройства и отмечает сбои и проблемы совместимости.

Terminal
# Wireless debugging: pair once with the code shown on the phone
adb pair <ip address>:<port>
adb devices

# Watch the device log while you reproduce a tester's report
adb logcat

Сборка, экспортированная без Export With Debug, не подключается к редактору. Чтобы понять, почему релизная сборка не работает на конкретном телефоне, установите её туда и следите за adb logcat, повторяя шаги тестировщика.

Коротко о Play Console: от закрытого теста до продакшена

Когда бандл Godot собран и подписан, всё остальное происходит в Play Console и одинаково для любого фреймворка. Здесь краткий чек-лист; каждое меню и экран описаны в полном руководстве по Play Console.

  • Завершите настройку приложения на панели управления: политика конфиденциальности, доступ к приложению, реклама, возрастной рейтинг, целевая аудитория, безопасность данных и страница в Play Маркете.
  • Создайте выпуск для закрытого теста в разделе Тестирование и выпуск → Тестирование → Закрытое тестирование: выберите страны тестировщиков, загрузите .aab и отправьте на проверку.
  • Добавьте тестировщиков через Google Группу на вкладке Тестировщики и поделитесь ссылкой opt-in. Она заработает, когда у трека появится статус Опубликовано.
  • Держите не менее 12 тестировщиков с opt-in 14 дней подряд. Внутреннее тестирование не засчитывается, а у того, кто вышел и вернулся, отсчёт 14 дней начинается заново.
  • Выпустите хотя бы одно обновление во время теста и запишите, что нашли тестировщики и что вы изменили.
  • Подайте заявку на доступ к продакшену с панели управления и ответьте на три раздела о тесте, приложении и готовности. Решение принимает Google; никто не может гарантировать одобрение.

Учитывайте выбывших: наберите больше 12 тестировщиков, чтобы уход одного человека не сдвинул ваши сроки. Все шаги в Play Console.

Полное руководство по Play Console

Закрытый трек, Google Группа и ссылка opt-in, правило 12 тестировщиков / 14 дней и заявка на продакшен, шаг за шагом на одной странице.

Открыть шаги в Play Console

Быстро выпускайте обновления во время теста

Увеличьте Version → Code в пресете, снова экспортируйте .aab и загрузите его в тот же закрытый трек.

Для собственных проверок Debug → Small Deploy with Network Filesystem развёртывает минимальный исполняемый файл по USB и передаёт файлы проекта из редактора по сети, что сильно экономит время на больших играх. Это исключительно функция для разработки: тестировщикам всегда нужен полный экспортированный .aab в закрытом треке.

  • От края до края. Опция пресета Screen → Edge to Edge позволяет игре рисовать под полупрозрачными системными панелями. Если включаете её, держите важный интерфейс внутри области, которую возвращает DisplayServer.get_display_safe_area(), чтобы ничего не пряталось под панелью или вырезом камеры.
  • Не сжимайте нативные библиотеки. Gradle Build → Compress Native Libraries уменьшает бандл, но замедляет запуск, потому что библиотеки нужно распаковать перед использованием. Для Google Play документация Godot рекомендует оставлять опцию выключенной.
  • Автоматизируйте экспорт. Headless-экспорт с хранилищем ключей в переменных окружения, как в разделе о подписи, каждый раз даёт одинаковый бандл и превращает повышение кода версии в рутину.
  • Не обновляйте Godot посреди теста. Новая версия редактора означает новые шаблоны экспорта, новый шаблон сборки Android и новую библиотеку движка для тестировщиков. Обновляйтесь до теста или после получения доступа к продакшену.

Частые вопросы

Нужна ли сборка Gradle для Google Play?

Да. Google Play требует .aab, а Godot экспортирует его только с включённым Use Gradle Build. Готовый шаблон экспортирует только APK, которые по-прежнему можно ставить на свои устройства вручную.

Можно ли экспортировать из редактора для Android?

Начиная с Godot 4.6, сборки Gradle работают и в редакторе для Android, если установить на то же устройство приложение Godot Android Build Environment (GABE). Для экспорта готовых APK оно не нужно.

Нужно ли игре разрешение INTERNET?

Только если она использует сеть. Включите Permissions → Internet в пресете для онлайн-функций, таблиц рекордов или рекламы; без него приложение не сможет открывать сетевые сокеты в релизной сборке, которую получают тестировщики.

Какие архитектуры экспортировать?

Оставьте arm64-v8a включённой: Google Play требует 64-битный нативный код, и большинство современных телефонов его используют. armeabi-v7a добавляет поддержку старых 32-битных телефонов, если они ещё есть у вашей аудитории.

Источники

Технические детали сверены с официальной документацией ниже. Меню и значения по умолчанию меняются от версии к версии; если сомневаетесь, ориентируйтесь на официальную страницу.

Впервые слышите о правиле 12 тестировщиков?

Общее руководство объясняет требование Google, как день за днём проходит кампания TestBunny и что мы можем и не можем гарантировать.

Читать общее руководство

Нужны 12 настоящих тестировщиков на 14 дней?

Добавьте приложение и ссылку на закрытое тестирование, выберите Starter (15 тестировщиков) или Pro (25 тестировщиков) и следите за активностью каждого тестировщика по дням в своей панели.

TestBunny не связан с Google. Тестировщики получают кредиты, а не деньги. Никто не может гарантировать решение Google о доступе к продакшену, и мы тоже.