我对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/