JNI简介
JNI使用环境:
1.当java API 不能满足我们程序需求的时候
2.对效率要求比较高的时候,例如算法计算,图像渲染......
3.当需要访问一些已有的本地库的时候
什么是NDK:
NKD是指工具的集合,帮助开放者快速开发C/C++,动态库的工具
最大的作用就是用来将点.so文件和java文件一起打包成APK
NDK开发流程:
用JNI接口和C本地的库链接,链接好之后生成 .so文件,然后由NDK打包
JNI开发流程
1.在java项目里面编写native 方法
2.调用javah 命令生成 .h 文件
3.复制 .h 头文件到cpp工程以及将里面需要的jni.h文件复制到cpp工程
把需要的 .h文件复制到 VS工程目录下:
然后将对应的 .h文件添加到项目里面的头文件
4.实现.h 头文件中的声明函数
5.生成一个dll 动态库
6.在java中加载动态库
7.触发native函数
动态库和静态库
都是函数库.
静态库: .a文件
动态库: .dll / .so 文件
3