reckfellENGINE

Android Studio: проект и нативная отладка

Модули платформы, варианты сборки, SCons, JNI и соответствие символов.

На этой странице

Что открывать

Android Studio здесь используется для Java/Kotlin-оболочки, JNI и нативного C++ движка. Для C#-кода игры нужен отдельный .NET-процесс сборки/отладки; Dual (Java + Native) не подключает C# debugger.

Откройте каталог Source/platform/android/java, содержащий settings.gradle. Это проект платформы движка, не android/build конкретной экспортированной игры. До Sync подготовьте SDK/NDK и инструменты из сборки Android. IDE должна видеть те же ANDROID_HOME, Java и scons, что терминал. Не принимайте предложение обновить AGP/Gradle без проверки совместимости с текущими build-файлами.

Модули и варианты

МодульНазначение
:libJava/JNI-оболочка и нативные библиотеки движка, упаковка AAR.
:editorAndroid-редактор и варианты Android/XR; зависит от библиотеки.
:appПриложение-шаблон для запуска игры; ему нужны игровые ресурсы.
:assetPackInstallTime, :dataLib, :fusedDepsLibВспомогательные модули упаковки приложения.
:nativeSrcsConfigs, :editor:macrobenchmarkКонфигурация native sources и отдельные измерения редактора.

Наличие Maven-настроек в исходниках не означает, что нужный Reckfell AAR опубликован и доступен в Maven Central. Для локальной работы используйте согласованные артефакты этой сборки.

Для отладки редактора выберите run configuration модуля editor, Android-вариант Debug и ABI устройства. Для app нужен Debug-вариант шаблона и экспортированные игровые данные. Пустой app/src/main/assets не становится полноценной игрой от успешного Gradle Sync. Сначала получите корректный экспорт; простое копирование исходных файлов не заменяет импорт ресурсов и C# publish.

Корневой Gradle-проект по умолчанию задаёт selectedAbis=["arm64"]. Для эмулятора x86_64 нужен соответствующий ABI в native-сборке и пакете. Android Studio-задачи могут запускать SCons автоматически; Sync не доказывает готовность компилятора. Обычная CLI-упаковка, наоборот, по умолчанию исключает SCons-задачи и использует существующие .so.

Подключите нативные символы

  1. Соберите подходящий Debug-вариант с символами; не используйте .so от другого commit, ABI или target.
  2. В Run/Debug Configuration выберите Native Only либо Dual (Java + Native), если нужно одновременно пройти Java→JNI→C++. Установите LLDB средствами Android Studio. Настройки отладчика.
  3. Для внешних символов добавьте Symbol Directories. Native-библиотеки редактора находятся под platform/android/java/lib/libs/tools/debug/<ABI>, шаблона — под platform/android/java/lib/libs/debug/<ABI>. Пути даны относительно Source; если символы отделены, укажите каталог соответствующих неурезанных/символьных файлов.
  4. Запустите Debug на выбранном устройстве и проверьте остановку сначала в Java/JNI, затем в нужном C++-методе. Само подключение LLDB не подтверждает соответствие символов. Отладка Android-приложения.

В Android Studio текущий Gradle-код сохраняет debug symbols при упаковке, но символы уже stripped-библиотеки из этого не восстанавливаются. Нативный breakpoint, остающийся непривязанным, требует проверки загруженного модуля, ABI, build ID и source mapping.

Разберите ошибку по стадии

ОшибкаСледующий шаг
Gradle Sync/JDKСверьте wrapper, AGP, Gradle JDK и версии SDK из build-файлов.
Unable to find executable path for the 'scons' commandИсправьте PATH именно процесса Android Studio и перезапустите IDE.
SCons завершился с ошибкойОткройте полный native build log; успешная индексация IDE ничего не говорит о компиляции.
app открывается без игрыПроверьте свежие экспортированные ресурсы, главный уровень и managed publish, а не только APK оболочки.
LLDB не видит строкПроверьте точную библиотеку/ABI/символы; не добавляйте случайный каталог другой сборки.

Не начинайте с очистки всего проекта: Gradle clean в этом репозитории удаляет и некоторые результаты SCons. Сохраните нужные библиотеки и символы перед намеренной очисткой.

Граница проверки: структура модулей, ABI, SCons tasks, JNI-пути и правила символов сверены по исходникам. Элементы отладчика сверены с официальной документацией Android Studio. IDE, Sync, компиляция, установка APK и LLDB на устройстве здесь не запускались; это не отчёт об успешной отладочной сессии.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.