У меня есть API C ++, который я не могу изменить:
- выставляет объект (легкий)
- предоставляет интерфейсы, которые должны быть получены вызывающей стороной (классический шаблон проектирования триггера-слушателя).
Мне удалось обернуть этот API-интерфейс в python, используя SWIG и функцию директора, которая позволяет осуществлять межязыковой вывод.
Однако, когда я попытался скомпилировать его с помощью ndk, чтобы показать его на виртуальной машине Dalvik в Android, я обнаружил, что директора в SWIG поддерживаются через RTTI, а Android не поддерживает RTTI.
Есть идеи, как мне обойти это ограничение? По сути, у меня есть простой способ раскрытия моих собственных объектов в Java с использованием JNI и SWIG, но мне нужно иметь возможность запускать свой код Java из собственного кода.