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++ - 如何成功创建一个创建对象并返回指向该对象的指针的函数?

c - 如何定义数据类型

c - 将shell命令的结果存储在C中的变量中

Android:如果屏幕锁定或在后台,C++ 线程不会唤醒。使用应用程序时工作正常

c++ - QObject : Cannot create children for a parent that is in a different thread

c++ - gcc 编译器是否还有一个与继承的构造函数相关的错误?

c - 使用 C 在终端中以 < 形式读取文件字节

android - 将 gradle 更新到实验版本 - 错误

c++ - 将 gtest 与 Android NDK 结合使用时出现语法错误