java - 从 Android Java 调用 native 函数 - JNI 的替代方案

标签 java android c++ java-native-interface jniwrapper

这可能是一个真正的菜鸟问题,但我正在编写一个 Android 应用程序,它需要使用用 C++ 编写的 .so 库。 .so 由几个类组成,并且是通用 C++,而不是 JNI。

除了 JNI 之外,还有其他方法可以从 Android Java 应用程序调用 C++ 函数吗?我所看到的关于 JNI 的一切都表明您必须重写 native 代码以使其成为特定于 JNI 的,如果您只获得一个 .so,那真的很不方便。

从 Android 4.0.3 中的 java 应用程序调用 native 函数有哪些替代方法?编写一个调用 C++ 函数然后可以从 Java 调用的小型 JNI-C++ 程序有多简单?

Eclipse 中有什么东西可以简化这个过程吗?

我可能不应该对没有更优雅的解决方案感到惊讶。

最佳答案

我认为没有比您建议的为库编写 JNI 包装器的解决方案更优雅的解决方案了。无论如何,这可能不是一个好主意,因为您应该为每个要支持的体系结构编译所有 native 代码的单独版本。仅仅附加到一个已编译的库意味着你会被它的架构所束缚。

关于java - 从 Android Java 调用 native 函数 - JNI 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167701/

相关文章:

android - 在 Android 平板电脑上模拟短信以进行应用程序测试

c++ - GoogleTest - 在一个夹具中有多个 setUp()

c++ - 由于使用事件而产生的开销

java - 有序二叉树,使用树排序按升序打印字符串

java - 如何在 Intellij 中查找字符串中以大写字母开头的单词?

Java XML - "1 counts of IllegalAnnotationExceptions"

c++ - 删除其中一个小部件后如何在特定位置设置 QGridLayout

java - 如何在 checkout PTC Windchill 文档后获取其原始文件夹路径

java - 如何在android中的hashmap中的值的帮助下打印键

Android:更换 SIM 卡时禁用强制重启