一、什么是JNI
1)jni是本地开放接口,是一个协议
2)用来沟通java与(c/c++);
3)通过这个协议java可以调用c/c++
4)外部的c/c++也可调用java
二、Android体系架构图
三、为什么使用JNI
1)人才稀缺
2)物连网,智能家居,车载电脑
3)效率上c/c++高
4)代码移值,复用c代码
5)java反编译比c更容易
四、怎么用JNI
1)java语言
2)c/c++语言 调用 java
—–》生成Hello.class 文件,在C语言里System(“java Hello”)就可调用java代码了
3)java JNI流程
4)NDK (native develop kits);
五、交叉编译:
1.什么是交叉编译:
1)在一个平台下,编译出另一个平台能够执行的二进制代码
2)平台:windows ,mac os, linux
3)处理器:x86,arm,mips
2.编译的原理:
1)源代码-》编译-》连接-》可指向程序
2)模拟其它平台的特性
3.交叉编译的工具链:
1)多个工具的集合,一个工具使用完后接着调用下一个工具
4.常见的工具有:
1)NDK:native development kit
2)CDT:c/c++ development tools :高亮显示c语言关键字
3)cygwin:一个模拟器,可以使用windows下运行linux指令
NDK下载: