Android,SWIG和双向通信

| 我有一个C ++ API,无法更改: 暴露物体(容易) 公开必须由调用者派生的接口(经典的触发侦听器设计模式)。 我设法使用SWIG和Director功能将这个API包装到python,这允许跨语言派生。 但是,当我尝试使用ndk对其进行编译,以在Android的Dalvik的VM中公开它时,我发现SWIG中的Directors通过RTTI得到支持,而Android不支持RTTI。 关于如何解决此限制的任何想法吗?基本上,我有一种使用JNI和SWIG在Java中公开本机对象的简便方法,但是我需要能够从本机代码触发Java代码。     
已邀请:
Android确实支持RTTI和NDK r5的例外。只需添加
-fexceptions
-frtti
编译标志,并将行
APP_STL := gnustl_static
添加到
Application.mk
文件。     
恐怕您需要编写自己的不使用RTTI的JNI。     

要回复问题请先登录注册