java的FrameWork层用的是java语言,FrameWork层的功能必须由Native层来支持。native层是用C和C++写的。java要使用navive层的功能,Android系统为java与native提供了jni来实现.在jni其实也是写在native中的。对于应用开发的Android程序来说。也可以自己封装C、C++功能,再使用java来调用实现想要的功能,实现该功能的接口技术就是NDK?
就是在Android中java可以调用C/C++函数, 甚至C/C++也可以使用可创建java对象来访问java中变量和函数
NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的
NDK集成了交叉编译器,并提供了相应的mk文件 隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so