Android-плагины Java/Kotlin
Плагин соединяет игру с Android SDK. Его AAR подключается к Gradle-проекту; desktop DLL и C#-скрипт сами по себе не регистрируют Java-плагин.
Плагин соединяет игру с Android SDK. Его AAR подключается к Gradle-проекту; desktop DLL и C#-скрипт сами по себе не регистрируют Java-плагин.
Минимальный контракт
- Наследуйте Java/Kotlin-класс от
org.reckfellengine.reckfell.plugin.ReckfellPluginи реализуйте стабильноеgetPluginName(). Не меняйте имя после выпуска без обновления вызывающего кода. - Методы, доступные движку, помечайте
@UsedByReckfell. Старый списокgetPluginMethods()устарел. Передавайте только типы, поддержанные мостом; не возвращайте произвольный объект SDK без адаптации. - Для событий объявите
SignalInfoвgetPluginSignals()и используйтеemitSignalс теми же именем и аргументами. - Зарегистрируйте класс через manifest metadata с префиксом
org.reckfellengine.plugin.v2.; значение — полное имя класса. Включите AAR и его зависимости в Gradle export. - Экспортируйте debug APK и проверьте наличие singleton с именем плагина до вызова методов. Отсутствие singleton — проблема регистрации/упаковки, не причина бесконечно повторять вызов.
Потоки и жизненный цикл
Android UI вызывайте на UI-потоке. Из callback SDK передавайте результат в подходящий поток движка; не меняйте дерево Entity произвольно из callback. Используйте onMainPause, onMainResume и onMainDestroy, чтобы прекращать подписки и освобождать внешние ресурсы.
Если debug работает, а release нет, проверьте shrinker/правила сохранения классов, manifest и транзитивные зависимости конечного APK. Здесь сверены интерфейсы регистрации; пример плагина не компилировался и устройство не проверялось.