Экспортируйте Android App Bundle
Укажите Godot путь к Java и Android SDK
Установите JDK (рекомендуется OpenJDK 17) и Android SDK, затем задайте Java SDK Path и Android SDK Path в разделе Android окна Editor Settings. Новые версии могут скачать и то и другое сами.
Скачайте шаблоны экспорта
Откройте Editor → Manage Export Templates и установите шаблоны точно для вашей версии редактора.
Установите шаблон сборки Android
Выберите Project → Install Android Build Template (в новых версиях пункт называется Setup Android Build…). Godot создаст проект Gradle в
res://android/build.Создайте пресет
В Project → Export добавьте пресет Android. В разделе Gradle Build включите Use Gradle Build и установите Export Format в AAB.
Экспортируйте
Нажмите Export Project, снимите флажок Export With Debug и сохраните
.aab.
Экспорт в AAB работает только со сборкой Gradle. Готовый шаблон по умолчанию экспортирует APK, а Google Play с августа 2021 года требует App Bundle для новых приложений.
На сервере сборки тот же пресет можно экспортировать без интерфейса:
godot --headless --export-release "Android" builds/mygame.aabРелизное хранилище ключей и подписание приложений в Google Play
Google Play нужна подпись не отладочным ключом. Создайте релизное хранилище ключей командой keytool:
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, а передавайте их через переменные окружения:
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 выполняет ваши скрипты поверх заранее скомпилированной библиотеки движка, поэтому большинство отчётов тестировщиков оказываются ошибками скриптов, отсутствующими ресурсами или проблемами отрисовки на конкретном устройстве, а не сбоями движка. Быстрее всего увидеть их на собственном телефоне с подключённым редактором.
Развёртывайте в один клик
Включите на телефоне режим разработчика и отладку по USB, подключите его и убедитесь, что пресет Android отмечен как Runnable. Тогда в правом верхнем углу редактора появится кнопка Android, которая экспортирует и устанавливает игру в один клик.
Включите удалённую отладку
Когда включено Debug → Deploy with Remote Debug, игра на телефоне подключается к вашему компьютеру, и отладчик, точки останова и вывод ошибок редактора работают так же, как на десктопе.
Перейдите на беспроводную отладку, если USB ненадёжен
Включите на телефоне беспроводную отладку, выполните сопряжение через
adb pairс показанным кодом и проверьте командойadb devices. Еслиadb devicesне показывает телефон, Godot его тоже не увидит.Проверяйте Play Console после каждой загрузки
Сбои движка появляются в разделе Мониторинг и улучшение → Android Vitals → Сбои и ANR. Отчёт перед запуском также автоматически устанавливает каждую загруженную сборку на тестовые устройства и отмечает сбои и проблемы совместимости.
# 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 дней и заявка на продакшен, шаг за шагом на одной странице.
Быстро выпускайте обновления во время теста
Увеличьте 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-битных телефонов, если они ещё есть у вашей аудитории.
Источники
Технические детали сверены с официальной документацией ниже. Меню и значения по умолчанию меняются от версии к версии; если сомневаетесь, ориентируйтесь на официальную страницу.
- Godot Docs: Exporting for Android
- Godot Docs: Gradle builds for Android
- Godot Docs: EditorExportPlatformAndroid
- Android Developers: Target API level requirements
- Godot Docs: One-click deploy
- Godot Docs: Overview of debugging tools
- Play Console Help: Pre-launch reports
- Play Console Help: App testing requirements for new personal developer accounts
- Play Console Help: Set up an open, closed, or internal test
- Play Console Help: Deobfuscate or symbolicate crash stack traces
Впервые слышите о правиле 12 тестировщиков?
Общее руководство объясняет требование Google, как день за днём проходит кампания TestBunny и что мы можем и не можем гарантировать.
Читать общее руководство