本篇文章主要讲解JNI和NDK的理解,基于这个基础之上之后会进行更深一步讲解,让我们一步一步的去了解JNI和NDK到是什么?
理解
一、JNI的理解
1、what?
(1)Android系统架构
(2)相当于桥梁的作用:
Java native interface:java本地开发接口
(3)通过jni就可以让java与C/C++代码实现互调
2、Why?
(1)native coder执行高效:大量的运算(极品飞车),万能解码(ffmpeg),Opengl(3D 渲染)
(2)通过jni技术,可以扩展Android手机的功能-wifi热点
(3)代码的复用:ffmpeg,opnencv(人脸识别库),7-zip
(4)使用场景:考虑特殊情况(效率/操作硬件)
3、How?
(1)学习C语言-看懂代码
(2)见“JNI开发流程”
二、NDK的理解
1、what?
(1)Native Develop Kits(本地开发工具包)
(2)Android提供的用来做JNI开发的工具包
2、Why?
提高JNI开发的效率:
(1)生成代码
(2)代码提示
(3)多平台交叉编译
3、How?
见"NDK开发流程"