这可能是一个真正的菜鸟问题,但我正在编写一个 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/