android-ndk环境搭建

当我们需要编写jni接口,或者需要编译C、C++代码生成.so库时,我们就需要在EClipse中搭建ndk环境,下面简单介绍下步骤:

1、需要的软件:

cygwin1.7以上版本

ADT的eclipse

ndk

其中只有cygwin需要安装,其它的两个 解压就可以了。

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

安装cygwin中只需要注意两点:

1)、安装文件的路径中不能有中文名

2)、要选中cygwin支持NDK的几个包(为了不遗漏把devel下的全部选中安装,具体的操作步骤就是把默认的skip变成相应的版本号)。你也可以通过Search来搜索NDK必须要的12个包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make   看看这些包是否都已选中(改变其默认的Skip

测试cygwin是否安装成功:

运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了



 NDK环境变量

1、首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:C:\cygwin\home\Administrator\.bash_profile (注意:我安装的时候我的home文件夹下面什么都没有,解决办法:首先打开环境变量,把里面的用户变量中的HOME变量删掉,在E:\cygwin\home文件夹下建立名为Administrator(用户名)的文件夹,然后把E:\cygwin\etc\skel\.bash_profile拷贝到该文件夹下

2、打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/ 例如:

NDK=/cygdrive/d/android/android-ndk-r7

我里我的ndk放下D盘android目录下面


3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了

$

Administrator@IBXXUCBK7L0OEF1 ~
$ cd $NDK

Administrator@IBXXUCBK7L0OEF1 /cygdrive/d/android/android-ndk-r7
$


配置C/C++的编译器

1、 打开eclipse,导入ndk自带的hello-jni例子,右键单击项目名称,点击Properties,弹出配置界面,之后再点击Builders,弹出项目的编译工具列表,之后点击New,新添加一个编译器,点击后出现添加界面,选择Program,点  击OK


在Main选项卡下,设置Location为<你cygwin安装路径>\bin\bash.exe程序,例如:C:\cygwin\bin\bash.exe,设置Working Directory为<你cygwin安装路径>\bin目录,例如:C:\cygwin\bin;设置Arguments为 --login -c "cd '${project_loc}' && $NDK/ndk-build";

3、接着切换到Refresh选项卡,给Refresh resources upon completion打上钩


4、然后切换到Build Options选项卡,勾选上最后三项


5、之后点击Specify Resources按钮,选择资源目录,勾选你的项目目录即可


6、最后点击Finish,点击OK一路把刚才的配置都保存下来,注意:如果你配置的编译器在其它编译器下边,记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改


7、 测试配置是否成功:打开项目中jni目录里的hello-jni.c文件把提示Hello from JNI!改成其他的文字:如:Hello,My name is alex.,然后在盒子上中运行你的程序,如果盒子中显示了你最新修改的文字,那么Congratulations!你已经全部配置成功啦(导入 jni case 时选择create project from existing example)


总结:

1、安装这个用了比较长的时候,主要是开始cygwin安装的时候老是出问题,最好第一次就安装正确,且确保所有的命令都安装了

2、即使这个安装过程没问题,可能eclipse前面的配置还是有点问题,遇到问题, 多分析下,记得baidu Google.问题总能解决的

你可能感兴趣的:(android框架)