Если при попытке собрать проект под Android GameMaker выдаёт ошибку вида SDK not found или сборка останавливается на этапе Gradle, причина почти всегда кроется не в самом движке, а в неправильно указанных путях к Android SDK и NDK в настройках. Это самая частая проблема новичков, и она решается за несколько минут, если знать, где искать.
GameMaker (ранее GameMaker Studio) — один из самых доступных инструментов для создания 2D-игр с экспортом на Android. Разработчик пишет код на языке GML, а движок берёт на себя компиляцию под мобильную платформу. Однако корректная сборка требует подготовленного окружения: установленной Android Studio, нужных версий SDK и подписанного keystore. Разберём весь путь от настройки до публикации в Google Play.
Что нужно для сборки под Android
Перед первым экспортом необходимо подготовить рабочее окружение. GameMaker не содержит встроенного Android-инструментария — он использует компоненты, установленные отдельно.
- 🖥️ GameMaker актуальной версии с подпиской или лицензией, допускающей экспорт на Android (бесплатная версия ограничена в платформах экспорта — уточняйте условия на официальном сайте).
- 🤖 Android Studio — из неё нужны SDK Platform, SDK Build-Tools и NDK.
- ☕ Совместимая версия JDK (обычно идёт в комплекте с Android Studio).
- 📱 Устройство на Android с включённой отладкой по USB или эмулятор для тестирования.
- 🔑 Файл keystore для подписи приложения.
⚠️ Внимание: версии SDK, NDK и JDK должны быть совместимы с вашей версией GameMaker. Совместимые комбинации периодически меняются — сверяйтесь с официальной документацией GameMaker (раздел «Setting Up For Android»), а не со старыми гайдами: устаревшие версии NDK — частый источник ошибок сборки.
Настройка путей в GameMaker
После установки Android Studio откройте в GameMaker раздел File → Preferences → Platform Settings → Android. Здесь указываются пути к трём компонентам: Android SDK Location, Android NDK Location и Java JDK Location.
Обычно SDK находится в папке пользователя, например C:\Users\Имя\AppData\Local\Android\Sdk, а NDK — в подпапке Sdk\ndk\версия. Точные пути зависят от того, куда вы установили Android Studio. Если кнопка Check SDK отмечает компонент зелёным — путь указан верно.
Если проверка не проходит, не переустанавливайте всё подряд. Сначала убедитесь, что путь не содержит кириллицы и пробелов в нестандартных местах, и что NDK установлен именно той версии, которую ожидает движок.
Настройка проекта и Game Options
В каждом проекте параметры Android задаются отдельно через Game Options → Android. Здесь важны несколько групп настроек.
- 📦 Package Name — уникальный идентификатор вида
com.company.game. После публикации в Google Play изменить его нельзя. - 🔢 Version Code и Version Name — внутренний номер сборки и отображаемая версия. Каждая новая загрузка в консоль требует увеличения Version Code.
- 🎯 Min SDK / Target SDK — минимальная и целевая версии Android. Google Play предъявляет требования к целевой версии API; актуальный минимум проверяйте в консоли разработчика.
- 🖼️ Иконки, сплэш-скрин и ориентация экрана (портретная, альбомная или обе).
☑️ Проверка перед первой сборкой
Подпись приложения: keystore
Android не установит неподписанное приложение, поэтому для релизной сборки нужен файл keystore. Его можно создать прямо из интерфейса GameMaker в разделе настроек подписи либо через Android Studio.
Храните keystore и пароли от него в надёжном месте. Потеря keystore означает, что вы больше не сможете выпускать обновления опубликованного приложения под тем же идентификатором — придётся публиковать игру заново как новый продукт. В Google Play частично смягчает эту проблему функция Play App Signing, но исходный ключ загрузки всё равно стоит беречь.
⚠️ Внимание: не храните keystore внутри папки проекта, которая попадает в систему контроля версий или публичный репозиторий. Утечка ключа позволит третьим лицам подписывать приложения от вашего имени.
Тестирование и сборка APK/AAB
Для быстрой проверки на устройстве используйте запуск через кнопку Run с подключённым по USB смартфоном — GameMaker соберёт отладочную сборку и установит её автоматически. На устройстве должна быть включена отладка по USB в меню разработчика (его состав и расположение зависят от оболочки производителя).
Для публикации собирается подписанный пакет через Create Executable. Сравним форматы:
| Параметр | APK | AAB (App Bundle) |
|---|---|---|
| Назначение | Прямая установка на устройство | Загрузка в Google Play |
| Установка без магазина | Да | Нет, только через Play |
| Оптимизация под устройство | Один файл для всех | Play формирует сборку под конкретное устройство |
| Требование Google Play | Не принимается для новых приложений | Обязателен для новых приложений |
Почему сборка падает с ошибкой Gradle
Чаще всего причина в несовместимости версий NDK или Build-Tools с вашей версией GameMaker, в кэше Gradle (помогает очистка кэша проекта через опцию Clean в GameMaker) либо в отсутствии принятых лицензий SDK — их можно принять через SDK Manager в Android Studio. Точный текст ошибки в логе сборки указывает на конкретный компонент.
Публикация в Google Play
Загрузка игры происходит через Google Play Console. Потребуется аккаунт разработчика (регистрация платная, разовая — актуальную стоимость проверяйте на официальном сайте, условия могут меняться). Далее заполняется карточка приложения: описание, скриншоты, иконка, возрастной рейтинг и ответы на анкету контентной политики.
Перед открытым релизом разумно прогнать сборку через закрытое или внутреннее тестирование: Google Play позволяет раздать сборку ограниченному кругу тестировщиков по ссылке. Так выявляются проблемы с производительностью на слабых устройствах и с адаптацией интерфейса под разные экраны.
Типичные ошибки и их решения
Разберём проблемы, с которыми чаще всего сталкиваются при экспорте на Android.
- ❌ Устройство не определяется. Проверьте включённую отладку по USB, драйверы устройства на ПК и разрешение на отладку в диалоге на экране смартфона.
- ❌ Ошибка лицензий SDK. Откройте SDK Manager в Android Studio и убедитесь, что компоненты установлены; лицензии принимаются при установке через официальный менеджер.
- ❌ Игра вылетает на старте. Проверьте лог через
adb logcatили встроенный вывод отладки GameMaker — часто причина в обращении к ресурсу, отсутствующему в сборке, или в несовместимом расширении. - ❌ Чёрный экран вместо игры. Возможная причина — проблемы с графическим рендером на конкретном устройстве; проверьте проект на другом аппарате или эмуляторе, чтобы локализовать проблему.
Частые вопросы
Можно ли собрать Android-версию на бесплатной версии GameMaker?
Возможности экспорта зависят от текущей лицензионной политики GameMaker. Бесплатный тариф исторически ограничивал платформы экспорта — проверяйте актуальные условия на официальном сайте перед началом работы.
Чем APK отличается от AAB и что выбрать?
APK — установочный файл для прямой установки, удобен для тестов и распространения вне магазина. AAB — формат публикации в Google Play: магазин сам формирует оптимизированные пакеты под конкретные устройства. Для новых приложений Google Play требует именно AAB.
Нужен ли физический смартфон для разработки?
Строго говоря, нет — можно использовать эмулятор из Android Studio. Но реальное устройство даёт более достоверную картину производительности и работы сенсорного управления.
Что делать, если сборка зависает на этапе Gradle?
Попробуйте очистить кэш проекта через опцию Clean в GameMaker, проверьте доступ к интернету (Gradle загружает зависимости) и совместимость версий NDK и Build-Tools с вашей версией движка по официальной документации.
Можно ли изменить Package Name после публикации?
Нет. Идентификатор пакета фиксируется при первой загрузке в Google Play. Смена package name означает публикацию приложения как нового, с потерей отзывов и статистики.