如何使用 JNI 在 Android 中包含不可修改的本机 C++?
How to include unmodifiable native C++ in Android with JNI?
我们正在探索在 Android 项目中包含一些现有的 C++ 库,建议使用 JNI。我见过的大多数参考资料都建议这样的事情:https://medium.com/@ssaurel/create-your-first-jni-application-on-android-with-the-ndk-5f149508fb12 生成本机 headers 和代码以与 Java.
交互
假设您无法修改本机库,这仍然是最好的方法吗?在这种情况下,您是否会创建一个额外的原生填充层来调用现有的原生库并仅定义接口?
是的。如果你不能修改库,你将不得不创建一个包装层。特别是如果它是 C++,因为你需要 JNI 层是 extern "C" 以避免名称混淆。
我们正在探索在 Android 项目中包含一些现有的 C++ 库,建议使用 JNI。我见过的大多数参考资料都建议这样的事情:https://medium.com/@ssaurel/create-your-first-jni-application-on-android-with-the-ndk-5f149508fb12 生成本机 headers 和代码以与 Java.
交互假设您无法修改本机库,这仍然是最好的方法吗?在这种情况下,您是否会创建一个额外的原生填充层来调用现有的原生库并仅定义接口?
是的。如果你不能修改库,你将不得不创建一个包装层。特别是如果它是 C++,因为你需要 JNI 层是 extern "C" 以避免名称混淆。