NDK安装小结

NDK安装小结

一、NDK介绍

NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将sojava应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK 集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk 文件(指出哪些文件需要编译编译特性要求等),就可以创建出soNDK 可以自动地将soJava \应用一起打包,极大地减轻了开发人员的打包工作。比较简单的说,NDK是一套交叉编译工具,它可以帮你把你用CC++书写的代码,编译为.so(类似与 win下的.dll)格式的文件,使你可以在你的Android程序当中用Java语言(JNI)调用这些代码。

二、安装cygwin

由于NDK编译代码时必须要用到makegcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unixwindows的应用程序 移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译CC++代码了。下面我们一步一步的安装cygwin吧。

首先到www.cygwin.com下载setup.exe

然后默认配置next,选择离自己较近的镜像站点准备下载安装包列表。

这里列出后面开发NDK用得着的包:autoconf2.1automake1.10binutilsgcc-coreg++gcc4-coregcc4-g++gdbpcrepcre-develgawkmake(宁可多选,不能少选),最好再装个vimsearch需要安装的包,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。就可以进行安装了。如下图举例:


下面测试一下cygwin是不是已经安装好了。

运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果statusok的话,则cygwin运行正常。

然后依次输入gcc –vg++  --versionmake –versiongdb –version进行测试,(注意空格和-)如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!

三、配置NDK环境变量

1、下载NDK,我下的最新的android-ndk-r6-windows.zip,直接解压

2、首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件。

3、可以直接用记事本打开.bash_profile文件,添加NDKROOT=/cygdrive/<你的盘符>/<android ndk 目录> 例如:NDK=/cygdrive/e/software/android-ndk-r6,然后export NDKROOTNDKROOT这个名字随意取。

4、打开cygwin,输入env | grep NDKROOT,若显示你刚才键入的值,则表明配置成功。说明一下,在r4版本之前,需要输入build/host-setup.sh配置环境,这个在NDK目录中的doc目录下的OVERVIEW.TXT有说明:Previous releases required that you run the 'build/host-setup.sh'script to configure your NDK. This step has been removed completely in release 4

四、编译NDK自带的例子

1、运行cygwin,输入cd /cygdrive/<android ndk目录>/samples/hello-jni

2、输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)

3、此时去hello-jnilibs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常。

4eclipse中新建android工程,选择第二项,如下图,就可以跑起来了,然后可以研究下其他例子。

 

五、eclipse中集成CDT

eclipse中集成c/c++开发环境。首先登录http://www.eclipse.org/cdt/downloads.php,找到对应你Eclipse版本的CDT插件的在线安装地址。 然后eclipse里点Help菜单,找到Install New Software菜单,下面就不说了,你可能会遇到Duplicate location重复路径的错误,这时你可以选择Available Software Sites,找到那个CDT安装的地址,把其状态设置成Enable就行了。

六、配置c/c++编译器下次说

你可能感兴趣的:(NDK安装小结)