Windows下Eclipse搭建Android NDK开发环境Word格式文档下载.docx
《Windows下Eclipse搭建Android NDK开发环境Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Windows下Eclipse搭建Android NDK开发环境Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
\download目录下,然后点击下一步,此时你共有三种连接方式选择:
1)DirectConnection:
直接连接。
2)UseIE5Settings:
使用IE的连接参数设置进行连接。
3)UseHTTP/FTPProxy:
使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。
用户可以根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。
然后再点击“下一步”,这是选择要下载的站点,我用的是http:
//ftp.ntu.edu.tw,(也可以自己添加站点,在UserURL中输入你选择的站点,然后点击Add添加,在列表中选中添加的站点)然后点击下一步:
此时会出现一个要下载安装的组件包列表:
点击下一步,进入安装过程:
安装完成后点击完成结束安装。
下面测试一下cygwin是不是已经安装好了:
运行cygwin,在弹出的命令行窗口输入:
cygcheck-ccygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc–version,g++--version,make–version,gdb–version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!
下载AndroidNDK:
下载站点:
http:
//A
//developer.A
如果上面的站点下载不了,也可以到网上找一些下载站点,下载r4版本的Android_ndk,下载后直接解压即可。
可以考虑和androidSDK放在相同的目录下,对以后的开发可能会带来一些便利。
配置NDK环境变量
首先找到cygwin的安装目录,找到一个home/<
你的用户名>
/.bash_profile文件,我的是C:
/cygwin/home/Administrator/.bash_profile,(如果找不到,那就到网上去找解决办法把,这种情况确实可能发生)打开bash_profile文件,添加如下内容(根据你的ndk的安装目录,我的是D盘Android-ndk-r4):
Android_NDK_ROOT=/cygdrive/d/android-ndk-r4
exportAndroid_NDK_ROOT
Android_NDK_ROOT这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存。
打开cygwin,输入cd$ANDROID_NDK_ROOT,如果输出上面配置的/cygdrive/d/android-ndk-r4信息,则表明环境变量设置成功了。
安装eclipse组件:
AndroidSDK和ADT就不介绍了,下面介绍一个新的组件——CDT。
CDT是eclipse开发c++的组件包,这里声明一下,使用NDK开发android是不需要CDT的。
如果你安装了CDT,会在以后review别人的c++code时带来一些方便。
可以到CSDN上下载CDT的压缩包,加压后把对应的目录下的文件拷贝到eclipse的对应目录下就可以了。
部署并运行第一个hello-jni例子
用NDK来编译程序:
现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于D:
/Android-ndk-r4/samples/hello-jni(根据你具体的安装位置而定),运行cygwin,输入命令cd/cygdrive/d/android-ndk-r4/samples/hello-jni,进入到D:
/android-ndk-r4/samples/hello-jni目录。
输入$ANDROID_NDK_ROOT/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。
($ANDROID_NDK_ROOT是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序),此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!
在eclipse中配置参数编译源码生成.so文件
1)导入hello-jni工程
2)这时你的工程可能会报错,没关系,工程右键选择Buildpath->
configBuildpath,如下图:
然后选择builders->
new,如下图:
选择program,配置如下图:
出现了添加界面,首先给编译配置起个名字,如:
C_Builder或者是默认的New_Builder,如上图,
设置Location为<
你cygwin安装路径>
/bin/bash.exe程序,例如:
C:
/cygwin/bin/bash.exe;
设置WorkingDirectory为<
/bin目录,例如:
/cygwin/bin
设置Arguments为:
--login-c"
cd/cygdrive/d/Android-ndk-r4/samples/hello-jni&
&
$ANDROID_NDK_ROOT/ndk-build"
上面的配置中/cygdrive/e/Android-ndk-r5/samples/hello-jni是你当前要编译的程序的目录,$ANDROID_NDK_ROOT是之前配置的ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序。
接着配置refresh选项:
勾选Refreshresourcesuponcompletion
再配置BuildOptions选项,如下图:
勾选上最后三项,之后点击SpecifyResources按钮,选择资源目录,勾选你的项目目录即可:
最后点击Finish,点击OK一路把刚才的配置都保存下来,注意:
如果你配置的编译器在其它编译器下边,记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改,如下图,一定要保证New_Builder在第一位:
现在来测试一下是否可以自动编译呢,打开项目jni目录里的hello-jni.c文件把提示HellofromJNI!
改成其他的文字:
如:
"
Hello,Mynameislusifer."
,然后再模拟器中运行你的程序,如果模拟器中显示了你最新修改的文字,那么你已经全部配置成功啦!
(2)
前面介绍Windows下Android开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设备、接口、驱动控制的应用开发,不得不使用到本文的NDK开发环境(基于Android源码或内核源码修改),开发语言使用C/C++,NDK开发更接近于Linux开发,需要更多关于Linux应用编程知识。
本文就介绍一下NDK环境搭建及基础编程思想。
本文演示环境:
Windows7Ultimate+Cygwin+NDKr4。
基础阅读:
Windows下Android开发环境搭建和配置
Android开发入门之环境概念介绍
一、下载androidNDK
您可以下载NDKr4forWindows或NDKr5forWindows安装包,下载地址:
地址:
下载后解压缩到你的工作目录,例如:
E:
\Android\develop,结果如下图:
AndroidNDK包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等内容。
samples下面包含几个实例开发演示项目,第一次接触NDK开发,建议先从示例开始。
下面先看一下编译环境配置。
二、下载Cygwin
由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境,下载地址:
下载后是个setup.exe文件,使用过程如下:
第一步:
运行setup程序,第一步图略,直接点击Next进入下一步。
第二步:
选择安装方式,第一次可以采用DirectConnection在线下载安装,如有现成的离线包,可以选择离线安装(InstallfromLocalDirectory)。
第三步:
选择安装目录,比如C:
\Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。
第四步:
设置本地包暂存路径
暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%%2f这样格式。
第五步:
设置网络连接方式
第六步:
选择下载站点地址
起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。
第七步:
等待加载安装项载入,选择安装项
我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。
第八步:
等待下载完成
下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约750M,下载完成后会自动安装到上文设置的安装目录。
提醒:
第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。
三、验证Cygwin环境
安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:
make-v
和,
gcc-v
如果检测成功,会有make和gcc相关版本信息打印出来,如下图。
四、配置NDK路径设置
可以在cygwin中通过vim修改,也可以在windows安装目录中修改home\<
\.bash_profile文件中最后添加环境变量
NDK=/cygdrive/e/Andriod/develop/android-ndk-r4
exportNDK
其中NDK=/cygdrive/<
你的盘符>
/<
androidndk目录>
,"
NDK"
这个名字随便起,以后经常用不要太长。
重启cygwin,输入:
cd$NDK
可进入ndk对应目录说明设置OK。
五、编译演示工程
现在就可以编译相关NDK工程了(一些用c/c++写的程序),编译方法如下:
1、在cygwin命令行下,进入android项目工作目录:
2、依次进入samples\hello-jni目录,(完整路径示例:
E:
\Andriod\develop\android-ndk-r4\samples\hello-jni)
3、运行
$NDK/ndk-build
注意:
该命令$NDK和/ndk-build是连接到一起的,中间没有空格,实际使用时是打入完整的$NDK/ndk-build,不要只打ndk-build。
4、正常编译完成后会在你的项目libs/armeabi目录下生成对应的.so文件。
六、导入静态目标库到Android项目
编译完成后会得到*.so静态目标库后,就可以导入工程环境EclipseAndroid项目中使用,注意,NDK编程并非一定要把这个目标库导入Android项目使用,除了本步骤描述的使用方法之外,还有Android源码直接修改、编译,然后烧录到测试机的开发方式,那样可以实现应用程序默认安装、权限开机提升等等更“彻底”的功能。
综合一下:
本步骤演示属于NDK目标库+AndriodAPK样式,此外还有Android源码直接开发、直接编译方式(确切一点已经淡化Android所谓的工程概念了,当然源码开发目前似乎还无法直接在Windows下进行,好像必须使用Linux家族系统进行,天缘稍后文章会有所涉及)
使用方法如下(示例):
1、在Eclipse中新建一个工程HelloJni,HelloJni.java中的代码可参考NDK对应sample下的演示代码(android-ndk-r4\samples\hello-jni\tests\src\com\example\HelloJni)调用方法。
2、将NDK编译项目目录下的jni和libs文件夹拷贝到新建工程目录下
注意这两个文件夹要和工程中的src和res文件在同一目录下。
然后进入Eclipse中刷新工程(会看到多出两个文件夹)。
3、运行Eclipse项目,就可以在虚拟机上看到hello-jni.c函数中输出字符串。
4、后续您可以试着修改库源程序或项目JAVA程序来熟悉NDK整个开发过程。