java - 如何使用 JNI 在 Android 中包含不可修改的原生 C++?

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

我们正在探索在 Android 项目中包含一些现有的 C++ 库,并建议使用 JNI。我见过的大多数引用资料都是这样的:https://medium.com/@ssaurel/create-your-first-jni-application-on-android-with-the-ndk-5f149508fb12您可以在其中生成 native header 和代码以与 Java 交互。

假设您无法修改 native 库,这仍然是最好的方法吗?在这种情况下,您是否会创建一个额外的 native 填充层来调用现有本​​机库并仅定义接口(interface)?

最佳答案

是的。如果您无法修改库,则必须创建一个包装层。特别是如果它是 C++,因为您需要 JNI 层是 extern "C"以避免名称损坏。

关于java - 如何使用 JNI 在 Android 中包含不可修改的原生 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60655360/

相关文章:

c++ - Opencv矩阵范围L值: Is this a bug?

javascript - 与 java 相比, Node 中的 AES 加密输出不同

java - Android Studio 数据绑定(bind)错误,无法解析符号

java - Mockito 模拟具有相似签名的相同命名方法

java - HttpURLConnection getResponseCode() 不起作用

android - 适用于 Unity Android 的 PubNub GCM

android - 在 Resume 的 PreferenceActivity 中重新加载首选项

c++ - 给定一个包含 lambda 函数的调用堆栈,如何确定其来源?

java - 用于替换嵌套标记的正则表达式

c++ - 如何在 DirectX 中初始化 XMVECTOR?