Ошибка «Android SDK not found» при первой сборке проекта — самая частая проблема, с которой сталкиваются разработчики, запускающие движок Unity для работы с Android. Причина почти всегда одна: редактор установлен без модуля Android Build Support, либо путь к SDK задан вручную и указывает на пустую папку. Проверить это можно за минуту через Unity Hub, не переустанавливая весь редактор.
Unity остаётся одним из самых популярных инструментов для создания мобильных игр: на нём собрана значительная часть проектов из Google Play. В этом материале разберём, как правильно установить движок с поддержкой Android, настроить окружение, собрать первый APK и избежать типичных ошибок на каждом этапе.
Что нужно для работы Unity с Android
Для сборки Android-приложений недостаточно одного редактора Unity. Движок использует внешние инструменты: Android SDK (набор библиотек и платформенных утилит), Android NDK (для нативного кода) и OpenJDK (для компиляции). Хорошая новость — современные версии Unity умеют ставить всё это автоматически через Unity Hub.
Также потребуется само Android-устройство для тестирования либо эмулятор. Физический смартфон предпочтительнее: он показывает реальную производительность, отклик сенсора и поведение игры на конкретном железе, которое эмулятор воспроизводит лишь приблизительно.
- 📱 Смартфон или планшет на Android с включённой отладкой по USB
- 💻 Компьютер с достаточным объёмом свободного места — редактор вместе с SDK занимает десятки гигабайт
- 🔌 USB-кабель, поддерживающий передачу данных (не только зарядку)
- 🌐 Стабильный интернет для загрузки модулей и зависимостей
Установка Unity с модулем Android Build Support
Откройте Unity Hub и перейдите на вкладку установок. При добавлении новой версии редактора Hub предложит выбрать модули — здесь отметьте Android Build Support. Внутри него раскройте вложенные пункты и убедитесь, что отмечены Android SDK & NDK Tools и OpenJDK. Если этого не сделать, сборка завершится ошибкой ещё на этапе поиска инструментов.
Если редактор уже установлен без нужного модуля, удалять его не нужно. В Unity Hub нажмите на значок шестерёнки рядом с версией редактора, выберите Add modules и доустановите Android Build Support — модуль подтянется к существующей установке.
☑️ Подготовка Unity к сборке под Android
⚠️ Внимание: не скачивайте Android SDK отдельно с посторонних источников и не подсовывайте Unity «чужой» SDK из Android Studio, если не уверены в совместимости версий. Возможная причина половины ошибок сборки — конфликт версий инструментов. Безопаснее использовать комплект, который ставит сам Unity Hub.
Проверка путей в External Tools
После установки откройте в редакторе Edit → Preferences → External Tools. В разделе Android должны быть проставлены пути к JDK, SDK и NDK, а рядом — отметки, что инструменты установлены вместе с Unity. Если галочки сняты и поля пустые, нажмите кнопку копирования пути или вернитесь в Hub и доустановите модуль.
Ручное указание путей — крайняя мера. Она оправдана, только если вы осознанно используете конкретную версию SDK, например по требованиям legacy-проекта. В остальных случаях автоматическое определение надёжнее и исключает опечатки в путях.
Настройка проекта перед сборкой
Переключите целевую платформу: File → Build Settings → Android → Switch Platform. Первое переключение занимает заметное время — Unity реимпортирует ассеты под новую платформу, это нормально. Затем откройте Player Settings и задайте идентификатор пакета вида com.вашакомпания.вашаигра: без уникального имени пакета приложение нельзя будет опубликовать.
Вам также нужно выбрать минимальную версию Android (Minimum API Level) и целевую (Target API Level). Здесь нет универсального значения: требования к целевому API периодически обновляются в правилах Google Play, поэтому перед публикацией сверяйтесь с актуальной документацией консоли разработчика. Слишком низкий минимальный уровень увеличивает аудиторию, но усложняет поддержку старых устройств.
Сборка APK и AAB: в чём разница
Unity умеет собирать два формата. APK — классический установочный пакет, который можно сразу закинуть на телефон и запустить. AAB (Android App Bundle) — формат публикации для Google Play: магазин сам формирует из него оптимизированные пакеты под конкретные устройства. Для тестов на своём смартфоне собирайте APK, для загрузки в консоль — AAB (в Build Settings есть соответствующая галочка Build App Bundle).
| Параметр | APK | AAB |
|---|---|---|
| Установка на устройство напрямую | Да | Нет, требуется конвертация |
| Публикация в Google Play | Ограничена правилами магазина | Основной формат |
| Итоговый размер для пользователя | Полный пакет | Только нужные ресурсы устройства |
| Подходит для быстрого теста | Да | Нет |
Для публикации потребуется подпись приложения. Создайте keystore через Player Settings → Publishing Settings → Keystore Manager и храните файл в надёжном месте. Потеря keystore означает невозможность обновлять опубликованное приложение — восстановить ключ нельзя.
Запуск и отладка на устройстве
На смартфоне включите режим разработчика: обычно это делается многократным нажатием на пункт Номер сборки в разделе «О телефоне», однако точный путь зависит от оболочки производителя — сверьтесь с инструкцией своей модели. Затем активируйте отладку по USB и подключите устройство к компьютеру. При первом подключении на экране телефона появится запрос на разрешение отладки — подтвердите его.
В Build Settings выберите устройство в выпадающем списке и нажмите Build And Run: Unity соберёт проект, установит его на смартфон и сразу запустит. Если устройство не отображается в списке, проверьте кабель, разрешение отладки на телефоне и при необходимости перезапустите редактор.
Устройство не определяется — что проверить
1) Кабель поддерживает передачу данных, а не только зарядку. 2) На телефоне подтверждён запрос RSA-отпечатка. 3) Режим USB-подключения не ограничен «только зарядкой». 4) На Windows для некоторых смартфонов нужен USB-драйвер производителя. 5) Попробуйте другой USB-порт, желательно напрямую, без хаба.
Типичные ошибки сборки и их причины
Ошибка Gradle build failed — общий симптом с десятками возможных причин: конфликт версий библиотек, нехватка памяти, битый кэш. Первый шаг диагностики — открыть полный лог в консоли Unity и найти первую строку с ошибкой, а не последнюю: именно она указывает на источник проблемы.
Другая частая ситуация — игра собирается, но вылетает при запуске на устройстве. Возможная причина — отсутствие нужных разрешений, несовместимость графического API или ресурсы, не включённые в сборку. Для анализа используйте Android Logcat (пакет доступен через Package Manager): он показывает системный журнал устройства прямо в редакторе.
⚠️ Внимание: не меняйте сразу несколько настроек, пытаясь починить сборку. Меняйте по одному параметру и пересобирайте проект — иначе вы не поймёте, какое именно действие помогло, и не сможете воспроизвести решение.
Оптимизация под мобильное железо
Мобильные устройства слабее ПК и сильнее греются, поэтому сцену из редактора нельзя переносить на смартфон без доработки. Сожмите текстуры под форматы, поддерживаемые Android-устройствами, уменьшите количество одновременных источников света и проверьте число вызовов отрисовки (draw calls) через встроенный Profiler.
Тестируйте игру на реальном устройстве среднего или бюджетного класса, а не только на флагмане. Плавная работа на топовом смартфоне не гарантирует приемлемой частоты кадров на массовых моделях, а именно они составляют значительную часть аудитории.
Часто задаваемые вопросы
Можно ли разрабатывать на Unity для Android без смартфона?
Да, часть работы выполняется в редакторе и на эмуляторе. Однако финальную проверку производительности, сенсорного управления и отображения интерфейса стоит проводить на физическом устройстве — эмулятор не воспроизводит реальное железо.
Чем AAB отличается от APK и что выбрать?
APK — самодостаточный установочный файл для прямой установки. AAB — формат для Google Play, из которого магазин собирает оптимизированные пакеты. Для тестов используйте APK, для публикации — AAB.
Почему Unity не видит Android SDK после установки?
Возможные причины: модуль Android Build Support установлен без вложенных компонентов SDK/NDK, либо в External Tools сняты автоматические пути. Проверьте состав модуля в Unity Hub и раздел Preferences в редакторе.
Что делать, если потерян файл keystore?
К сожалению, восстановить его нельзя: обновлять приложение с прежним идентификатором под новой подписью Google Play не позволит. Поэтому храните копии keystore в нескольких защищённых местах сразу после создания.
Нужно ли платить за использование Unity в мобильной разработке?
У Unity существует бесплатный тариф Personal с ограничениями по годовому доходу и финансированию. Условия лицензирования периодически меняются, поэтому актуальные правила проверяйте на официальном сайте Unity перед коммерческим релизом.