Android NDK开发简介 NDK和SDK以及JNI有什么关系
android sdk
(Android Software Development Kit, 即Android软件开发工具包)
包含了SDK Manager 和 AVD Manage对于android系统的一些开发版本的管理以及模拟器管理。
ndk
(Native Development Kit)跟sdk差不多的是它也是一个开发工具包。用它开发c/c++是很方便的。它有一个强大的编译集合。
JNI
是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)
JNI是java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。
NDK是一系列工具的集合。它提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。它集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。它可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作