【问题标题】:Access external native functions using JNI使用 JNI 访问外部本机函数
【发布时间】:2017-09-22 15:43:43
【问题描述】:

我对使用NDK 访问本机库有一点疑问。

  1. 是否可以使用JNI 访问库中的本机函数?我有一个完全基于C++ 构建的库,是否可以加载该外部库并编写JNI 以与库中的函数进行通信?
  2. 如果没有,是否可以将 JNI class 嵌入库中并通过 Android 活动与其通信?

【问题讨论】:

  • (1) 是的,前提是您为其编写了 C 包装器。 JNI 是一个C API。您确实需要阅读 NDK 文档并构建 NDK 附带的众多示例程序之一。
  • 如何从 jni 访问本机库中的方法? @RichardCritten
  • 感谢我在 googleNDK (github.com/googlesamples/android-ndk/tree/master/native-codec) 中获得了 nativeCodec 示例中的示例

标签: java c++ android-ndk java-native-interface abi


【解决方案1】:

看看这个示例代码:

https://github.com/mkowsiak/jnicookbook/tree/master/recipes/recipeNo025

在那里,您有一个在 JNI 包装器中包装 C++ 代码的示例代码。

不幸的是,您所能做的(在 JNI 内部)就是调用本机函数。

享受 JNI 的乐趣!

【讨论】:

  • .oOo。谢谢!玩 JNI :) .oOo.
猜你喜欢
  • 2016-06-09
  • 2016-08-04
  • 1970-01-01
  • 2018-10-29
  • 2015-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多