Android-NDK/JNIJNI&NDK

JNI&NDK开发最佳实践(一):开篇

2019-06-28  本文已影响28人  taoyyyy

JNI&NDK是什么?

JNI本意为Java Native Interface(java本地接口),为了方便java代码与C/C++代码之间的交互。
NDK是Android提供的一个工具集,通过NDK可以更加方便的通过JNI来访问本地代码,生成本地动态库等。

为什么要使用JNI&NDK开发?优势在哪?

实践场景

方案

JNI or NDK?

NDK是Android为了更方便使用JNI而提供的一个工具集,免去了繁琐的命令行操作。这里为大家提供一个JNI与NDK的实例,大家可以很直观的感受到二者在使用上的区别。

Make or CMake?

​CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。从而达到跨平台的目的。Android Studio利用 CMake生成的是ninja,ninja是一个小型的关注速度的构建系统。我们不需要关心ninja的脚本,知道怎么配置cmake就可以了。从而可以看出cmake其实是一个跨平台的支持产出各种不同的构建脚本的一个工具。
CMake的脚本名默认是CMakeLists.txt。

更多JNI&NDK系列文章,参见:
JNI&NDK开发最佳实践(一):开篇
JNI&NDK开发最佳实践(二):CMake实现调用已有C/C++文件中的本地方法
JNI&NDK开发最佳实践(三):CMake实现调用已有so库中的本地方法
JNI&NDK开发最佳实践(四):JNI数据类型及与Java数据类型的映射关系
JNI&NDK开发最佳实践(五):本地方法的静态注册与动态注册
JNI&NDK开发最佳实践(六):JNI实现本地方法时的数据类型转换
JNI&NDK开发最佳实践(七):JNI之本地方法与java互调
JNI&NDK开发最佳实践(八):JNI局部引用、全局引用和弱全局引用
JNI&NDK开发最佳实践(九):调试篇

上一篇 下一篇

猜你喜欢

热点阅读