工欲善其事必先利其器,下面介绍下Eclipse SDK NDK Cygwin CDT集成开发环境的搭建。

1Android开发环境搭建

Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。

1)下载JDK

2)下载Eclipse

3)下载Android SDK

4)启动Eclipse ,安装ADT


2、下载安装Android NDK

我使用的NDK版本为r5

Google出的最新NDKr6下载地址为

http://developer.android.com/sdk/ndk/index.html

3、下载安装cygwin

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

(安装的时候忘记截图了)

首先,你得先跑到http://www.cygwin.com下载setup.exe

1然后双击运行吧,运行后你将看到安装向导界面:

2点击下一步

此时让你选择安装方式:

1Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被 删除,而是仍然被保留,以便下次再安装)。

2Download Without Installing:只是将安装文件下载到本地,但暂时不安装。

3Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。

3、选择第一项,然后点击下一步:

4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变, 之后点下一步:

5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目 录,直接点下一步就可以:

6、此时你共有三种连接方式选择:

1) Direct Connection:直接连接。

2) Use IE5 Settings:使用IE的连接参数设置进行连接。

3) Use HTTP/FTP Proxy:使用HTTPFTP代理服务器进行连接(需要输入服务器地址、端口号)。

用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后 再点击下一步

7这是选择要下载的站点,我用的是http://mirrors.kernel.org,速度感觉还挺快,选择后点下一步

8此时会下载加载安装包列表

9Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1automake1.10binutilsgcc-coregcc- g++gcc4-coregcc4-g++gdbpcrepcre-develgawkmake12个包

10然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。

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

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

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

4、配置NDK环境变量

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

2打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk目录>例如:NDK=/cygdrive/e/android-ndk-r5

export NDK

NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存

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

5、用NDK来编译程序

1现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:\android-ndk-r5\samples\hello-jni(根据你具体的安装位置而定)

2运行cygwin,输入命令cd /cygdrive/e/android-ndk-r5/samples/hello-jni,进入到E:\android-ndk-r5\samples\hello-jni目录。

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

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

6、在eclipse中集成c/c++开发环境

1EclipseC/C++环境插件:CDT,这里选择在线安装。

首先登录http://www.eclipse.org/cdt/downloads.php,找到对应你Eclipse版本的CDT插件的在线安装地址。

2然后点Help菜单,找到Install New Software菜单

3点击Add按钮,把取的地址填进去,出来插件列表后,选Select All,然后选择下一步即可完成安装

4安装完成后,在eclispe中右击新建一个项目,如果出现了c/c++项目,则表明你的CDT插件安装成功啦!

7、配置C/C++的编译器

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

2、出现了添加界面,首先给编译配置起个名字,如:C_Builder

设置Location<cygwin安装路径>\bin\bash.exe程序,例如:E:\cygwin\bin\bash.exe,设置Working Directory<cygwin安装路径>\bin目录,例如:E:\cygwin\bin

设置Arguments

--login -c "cd /cygdrive/I/JavaWorkSpace/Blog/NDK_02 && $NDK/ndk-build"

基于 Android NDK 的学习之旅-----环境搭建

上面的配置中/cygdrive/I/JavaWorkSpace/Blog/NDK_02是你当前要编译的程序的目录,$NDK是之前配置ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序

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

基于 Android NDK 的学习之旅-----环境搭建

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

基于 Android NDK 的学习之旅-----环境搭建

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

基于 Android NDK 的学习之旅-----环境搭建

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

7这一路下来肯定很累了吧,现在再次恭喜你,编译配置也配置完成啦,现在来测试一下是否可以自动编译呢,打开项目jni目录里的hello-jni.c文件把提示Hello from JNI!改成其他的文字:如:HelloMy name is alex.,然后再模拟器中运行你的程序,如果模拟器中显示了你最新修改的文字,那么Congratulations!你已经全部配置成功啦!

  文章参考http://yueguc.iteye.com/blog/946724

更多相关文章

  1. 搭建Android + Eclipse环境时遇到的问题
  2. android学习路线和环境搭建、推荐一个博客地址
  3. android 环境搭建 windows 和linux 环境
  4. eclipse android集成开发环境分享 32位 64位
  5. Android 复制单个文件到指定目录,Android copy file
  6. sdk\tools目录下的traceview.bat无法找到
  7. Android使用Linux mount获取SdCard存储目录
  8. Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程
  9. Android初步(开发环境的搭建)

随机推荐

  1. android openGL简例1
  2. android 获得当前活动的Acticity
  3. Android(安卓)studio3.1.2 坑——3rd-par
  4. Android追加写入文件的几种方法
  5. andorid RecyclerView下拉刷新,上拉加载更
  6. android键盘的监听
  7. Android(安卓)编译环境下常用命令
  8. Android(安卓)Toast
  9. Android(安卓)签名信息读取
  10. Android低功耗蓝牙(BLE)随笔(二)