下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建。
1、Android 开发环境搭建
1) 下载 JDK(我的是JDK1.7)
2) 下载 Android SDK,最新版本默认封装了ADT和eclipse,所以省去了配置ADT和SDK
http://developer.android.com/sdk/index.html
3)下载安装Android NDK ,我使用的NDK版本为r8
Google 出的最新NDK 为 r9 下载地址为
http://developer.android.com/tools/sdk/ndk/index.html
2、下载安装cygwin
由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。
下载安装Cygwin:http://www.cygwin.com/ ,选择左上角的Install Cygwin。
Cygwin的默认安装,是不会安装gcc、g++、make等工具包。需要自己勾选。
gcc,gcc-core,gcc-g++,gcc-mingw-core,gcc-mingw-g++,make ,gdb,binutils
安装参考网址: http://www.linuxidc.com/Linux/2011-06/37588.htm
测试
运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc --version,g++ --version,make --version,gdb --version进行测试,如果都打印出版本信息和一些描述信息,那么你的cygwin安装完成了!
3、配置NDK环境变量
A、 首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:D:\cygwin\home\jiangmc\.bash_profile
B、 打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目录>例如:NDK=/cygdrive/d/android-ndk-r8e export NDK
NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存
注:也可以直接在系统变量中配置
C、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/d/android-ndk-r8e信息,则表明环境变量设置成功了。
4、用NDK来编译程序
11、 现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于D:\android-ndk-r8e\samples\hello-jni(根据你具体的安装位置而定),
22、运行cygwin,切换到D:\android-ndk-r8e\samples\hello-jni目录。
33、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)
44、 此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!
为了其他地方可以调用gcc和g++等工具,配系统环境PATH加入D:\cygwin\bin
5 在eclipse中集成c/c++开发环境
下载cdt,下载是注意和eclipse版本配套
http://www.eclipse.org/cdt/downloads.php 选择cdt8.1.2
helpàInstall new softwareàadd
Name:cdt-local
Location:cdt的zip包在本地的路径
选择cdt插件里的工具包,进行安装。
安装完成后重启Eclispe,在Eclispe中新建一个项目,如果出现了C/C++项目,则表明CDT插件安装成功了。
新建一个c工程:
在Project Explorer窗口,右击ànewàproject…
新建工程test。
右击test工程,查看properties。左边选择c/c++ buildàTool Chain Editor
Configuration:Debug 和Release
勾选 Display compatible toolchain only。
Current toolchain:Cygwin GCC
Current builder:Gnu Make Builder
Used tools:
GCC Assembler
GCC Archiver
Cygwin C++ Compiler
Cygwin C Compiler
Cygwin C Linker
Cygwin C++ Linker
6、Eclipse配置NDK
做完上面的事情,已经可以用eclipse进行ndk开发,但是,必须在Cygwin里使用ndk-build命令来编译jni。
在eclipse建立一个编译IDE工具
右击android项目HelloJniàpropertiesàBuildersàNew…àProgram双击,进入Edit launch configuration properties。
选择Tab :main
Location:D:\cygwin\bin\bash.exe
Working Directory:D:\cygwin\bin
Arguments:
--login -c "cd /cygdrive/d/android-ndk-r8e/
samples/hello-jni/jni && $NDK/ndk-build" 命令中间不要有换行。
选择Tab:Refresh
勾选The entire workspace
选择Tab:Build Options
勾选 Allocate Console
勾选After a “clean”、During manual builds、During auto builds、During a “Clean”
Specify resources选择HelloJni工程
这样配置后,每次修改jni下面的文件,均会自动调用ndk-build来编译,并生成libs/armeabi/libhello-jni.so
配置完成!!!