很早就听说了 android 的 NDK 应用,只是一直没 有时间去研究 ,今天花了点时间 在
windows 平台搭建了 NDK 环境,并成功运行了第一个简单的 android 应用.
一:什么是 NDK?
NDK 提供了一系列的工具,帮助开发者快速开发 C(或 C++)的动态库,并能自动将 so
和 java 应用一起打包成 apk。这些工具对开发者的帮助是巨大的。
NDK 集成了交叉编译器,并提供了相应的 mk 文件隔离 CPU、平台、ABI 等差异,开发人
员只需要简单修改 mk 文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建
出 so。NDK 可以自动地将 so 和 Java 应用一起打包,极大地减轻了开发人员的打包工作。
比较简单的说,NDK 是一套交叉编译工具,它可以帮你把你用 C 或 C++书写的代码,编译
为.so(类似与 win 下的.dll)格式的文件,使你可以在你的 Android 程序当中用 Java 语言
(JNI)调用这些代码.
二:下载安装 cygwin
由于 NDK 编译代码时必须要用到 make 和 gcc,所以你必须先搭建一个 linux 环境, cygwin
是一个在 windows 平台上运行的 unix 模拟环境,它对于学习 unix/linux 操作环境,或者从
unix 到 windows 的应用程序移植,非常有用。通过它,你就可以在不安装 linux 的情况下使
用 NDK 来编译 C、C++代码了。下面我们一步一步的安装 cygwin 吧。
(安装的时候忘记截图了)
首先,你得先跑到 http://www.cygwin.com 下载 setup.exe(我已经下载)
1、 然后双击运行吧,运行后你将看到安装向导界面:
2、 点击下一步
此时让你选择安装方式:
1)Install from Internet:直接从 Internet 上下载并立即安装(安装完成后,下载好的安装文
件并不会被删除,而是仍然被保留,以便下次再安装)。(好久了,应该是这个)
2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进
行安装。
3、选择第一项,然后点击下一步:
4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问
题,其它选项不用变,之后点下一步:
5、上一步是选择安装 cygwin 的目录,这个是选择你下载的安装包所在的目录,默认是你
运行 setup.exe 的目录,直接点下一步就可以: