c++ - Android中的Jni层

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

我对Android系统中的Jni层、NDk LAYER和C/C++源代码组件LAYER感到困惑。

在基于Android的平台上编写功能时,引入新的自定义组件:

我可以将任何用 c/C++ 编写的组件称为 NDK 组件吗?

什么是 jni,一个帮助加载 C/C++ 共享对象的文件?

我引用了下面的链接:它讨论了如何使用它,但没有完全阐明 Android 平台中使用的命名约定。 https://developer.android.com/training/articles/perf-jni.html

有人可以澄清一下 JNI、NDK 和 c/c++ 组件之间的区别吗?

最佳答案

这是一个工作流程。
您有一个用 C/C++ 编写的名为 NativeGoodAlgorithm 的类。
NativeGoodAlgorithm 编写一个名为 NativeGoodAlgorithmInterface(JNI) 的包装器。
编写一个 Android.mk,链接您的 native 代码和包装器以生成库(.so)。
在 Android 中,您加载生成的库并编写一个名为 GoodAlgorithm 的 Java 类。
然后你可以在任何你想要的地方调用GoodAlgorithm

关于c++ - Android中的Jni层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39217392/

相关文章:

c++ - C 中的 Windows 8 (Store App) - 如何禁用 gzip 压缩?

c++ - C++ 头文件中的 "using namespace"

c++ - 在Qt中创建一个开放的多边形(线带)

c - LLDB:如何制作一个漂亮地打印动态结构数组的自定义函数

带有字符串的 C 结构数组 - 操作/访问

java - 使用 String 参数调用时 JNI 崩溃

android - 使用 Android Studio 使用 native 代码编译 apk 时,如何在链接处删除 libgnuSTL_static.a?

c++ - 如果我想加密文本,可以使用哪个 c++ 免费(无 GPL)库?

c - 如何使用指向结构的指针进行迭代?

android - 使用 C++ 和 NativeActivity 类获取 Android APK 的名称