Редактор на Android: проект, файлы и ограничения
Текущие требования, C# ограничение, разрешения, окна Play и перенос проекта.
Android-редактор — нативный порт редактора для работы с проектом на устройстве. Это отдельная сборка: Windows-редактор и Android-игра не заменяют Android-редактор. Здесь описаны требования и рабочий порядок по текущим исходникам Reckfell 1.0.0; наличие выпущенного APK и работоспособность конкретного устройства нужно проверять отдельно. Ссылки на неподтверждённые страницы магазинов не приводятся.
Совместимость до переноса проекта
| Проверка | Что известно из текущих исходников |
|---|---|
| Android | Общий minSdk=24, то есть Android 7.0 или новее. Минимум конкретного APK может быть выше |
| Графика | Основной manifest требует OpenGL ES 3.0; Vulkan объявлен необязательным. Наличие версии API не гарантирует скорость/стабильность драйвера |
| C# | Модуль C# разрешает editor builds только для Windows, Linux и macOS; Android-редактор не предоставляет этот рабочий процесс |
| Native плагины | Нужны Android-библиотеки под ABI установленного редактора; Windows DLL не подходит |
| XR | Требуется подходящий вариант сборки и runtime; см. XR-редактор |
Поддержка C# в экспортированной Android-игре — отдельная возможность настольного редактора. Она не означает, что Android-редактор может собирать и запускать C# проект. Для проекта с C# продолжайте разработку на настольном редакторе.
Android проверяет minSdk при установке; назначение этого поля описано в Android Developers. Требования из исходников не являются результатом тестирования всех телефонов, планшетов или Chromebook.
Первый проект на устройстве
- Используйте именно Android-редактор нужной версии/ABI. Если соответствующий APK не опубликован, наличие Windows Runtime 1.0.0 не подтверждает доступность мобильного редактора.
- Выберите доступную для чтения и записи локальную папку проекта. Открытие одного файла через облачный провайдер не даёт гарантированного доступа ко всей его родительской папке.
- Создайте небольшой проект без C# и платформенных плагинов или перенесите копию такого проекта. Для первого не-XR теста можно начать с Compatibility; требовательную графику оценивайте отдельно на целевом GPU.
- Сохраните простой уровень
.rscene, назначьте его главным и запустите Play. Проверьте изображение, ввод и остановку игры. Успешное открытие редактора ещё не подтверждает запуск проекта. - Измените и сохраните ресурс, полностью закройте редактор и откройте проект заново. Изменение должно сохраниться. Затем проверьте копию проекта на другом устройстве/компьютере, если будете переносить его дальше.
Проверка выше — порядок приёмки на вашем устройстве, не отчёт об уже выполненном мобильном тесте. Не переносите весь большой проект до проверки сохранения, импорта ресурсов и запуска небольшой копии.
Доступ к файлам и разрешения
Manifest редактора запрашивает MANAGE_EXTERNAL_STORAGE и старые READ/WRITE_EXTERNAL_STORAGE с ограничением API 29. При отказе доступ к папкам может быть ограничен. Выбирайте реально доступную локальную папку; не рассчитывайте, что любой content:// URI удастся преобразовать в файловый путь. Текущий обработчик открытия пытается восстановить путь, потому что проекту нужна вся папка.
Разрешение «доступ ко всем файлам» не даёт доступ к приватным каталогам других приложений, в том числе их Android/data; это ограничение Android. Оно не превращает облачное хранилище в локальный диск.
| Действие | Разрешение и момент запроса |
|---|---|
| Работа с общей папкой проекта | Доступ к файлам/общему хранилищу; фактический доступ проверьте сохранением и повторным открытием |
| Аудиовход | RECORD_AUDIO запрашивается при включённом audio/driver/enable_input |
| Камера | CAMERA запрашивается при активации CameraFeed.feed_is_active |
| Открытие APK для установки | REQUEST_INSTALL_PACKAGES запрашивается по этому действию, если разрешение присутствует в варианте приложения |
| XR-возможности | Отдельные runtime permissions при xr/openxr/enabled; зависят от варианта и устройства |
Разрешение редактора не заменяет разрешения самостоятельной игры. Отказ в микрофоне не объясняет невозможность сохранить обычный ресурс: проверяйте именно доступ к папке и сообщение ошибки.
Управление и окно игры
Для touch интерфейса доступны настройки редактора:
interface/touchscreen/enable_touch_optimizations— адаптация элементов для касаний.interface/touchscreen/enable_long_press_as_right_click— контекстное действие долгим нажатием; изменение требует перезапуска редактора.interface/touchscreen/scale_gizmo_handles— размер ручек gizmo; изменение также требует перезапуска.interface/touchscreen/touch_actions_panel— Disabled=0, Embedded Panel=1, Floating Panel=2.
Клавиатура и мышь позволяют пользоваться обычными действиями редактора; раскладку и перехват сочетаний системой проверяйте на своём устройстве. Виртуальная клавиатура или наличие поля внешнего редактора не гарантируют работу произвольного настольного IDE.
Текущие параметры размещения: run/window_placement/android_window (Auto=0, Same as Editor=1, Side-by-side with Editor=2) и run/window_placement/game_embed_mode (Disabled=-1, Auto=0, Enabled=1 для обычного Android-редактора). Реальное размещение зависит от экрана и multi-window режима. В старых инструкциях встречается play_window_pip_mode; такой настройки в текущем EditorSettings нет — не используйте её как обязательный шаг.
Перенос проекта
Переносите папку с project.reckfell, уровнями .rscene, префабами .rprefab, исходными ресурсами, скриптами и сопутствующими .uid/настройками импорта. Сначала сохраняйте изменения и останавливайте редактор на устройстве, откуда берёте копию. Работайте с одной активной копией; двусторонняя синхронизация одновременно открытых проектов может перезаписать изменения.
Не считайте кеш .reckfell исходными материалами проекта. После переноса редактор заново импортирует ресурсы; дождитесь окончания и проверьте отсутствующие файлы/плагины. Мобильный Git-клиент — отдельное приложение: его доступ к папке настраивается отдельно от доступа редактора. Эта статья не требует конкретного Git-клиента.
Диагностика
| Симптом | Следующее действие |
|---|---|
| Не устанавливается | Проверьте minSdk/ABI именно APK и свободное место; Windows EXE не является Android-пакетом |
| Файл виден, проект не открывается | Перенесите полную папку локально, проверьте project.reckfell и доступ к соседним ресурсам |
| Не сохраняется | Проверьте запись в выбранную папку и свободное место; откройте проект повторно после сохранения |
| C# скрипты не собираются | Используйте настольный C# редактор; наличие Android-экспорта не добавляет C# editor tools на Android |
| Native плагин не загружается | Проверьте Android ABI, зависимости и соответствие API версии редактора |
| Медленно или чёрный экран | Сначала проверьте простой проект/совместимый renderer, затем меняйте графические настройки по одной; сохраните сообщения Output |
| Нет встроенного окна Play | Проверьте game_embed_mode и тип устройства; в XR embedding отключён |
Что проверено
Требования, manifest permissions, настройки окон/touch и запрет C# editor build сверены с текущими исходниками. Python-функции выбора платформ C# выполнены отдельно: Android/iOS/Web editor targets отвергаются, настольные допускаются; это не сборка APK. На этой машине нет подтверждённого запуска Android-редактора: установка, системные диалоги, ввод, сохранение, Play, производительность и плагины на устройстве не проверены. Исходники движка, установленный Runtime и SDK не менялись.