Android NDK是一系列工具的集合。帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。
使用原生SDK编程相比Dalvik虚拟机也有一些劣势,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。
众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。
NDK包括了:
从C / C++生成原生代码库所需要的工具和build files。
将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。
支持所有未来Android平台的一些列原生系统头文件和库。
在Linux上,尤其是Debian/Ubuntu上进行安装,非常顺利,不会有什么问题。但是在Windows平台进行安装,就不那么轻松了,根据Google的建议,我们需要安装cygwin,而且特别提醒一定在安装时,注意把make和gcc包含进去。
首次安装时,会遇到的问题。由于没有经验,第一次安装,统统采用默认设置,由此遇到的第一个问题:
your C compiler doesn't seem to work:gcc.exe:/temp/android-4068-test.c: No such file or directorygcc.exe: no input files
显示全部