1、需要准备的工具和软件
JDK
eclipse indigo(我下载的是indigo的C/C++开发版)
ADT12.0(当然下最新的ADT了,免得有太多的麻烦。)
Cygwin
2、环境搭建过程
首先按照常规方式安装JDK,这个部分省略过去,因为网上一搜一大片。
将SDK和DNK解压缩到一个目录下,注意路径尽量不要有中文。我的解压缩的路径是
SDK:D:\android\android-sdk-windows
![](/qrcode.jpg)
NDK:D:\android\android-ndk-r6
安装Cygwin。Cygwin是在Windows下进行嵌入式编程的利器。安装的过程如下所示(引用自http://www.2cto.com/kf/201104/87831.html):
“////引用开始
点击Setup.exe程序,会弹出一个下载方式选择的对话框。因为我习惯于备份安装文件,以方便第二台机器安装,所以选择的是第二项:"Download without installing",如图:
在一系列的"下一步"之后,会到一个选择下载组件的对话框。为了避免以后会出现莫名奇妙的问题,我建议还是全部选择install,如图所示:
以install方式下载整个cygwin的话,大小大概在1.7G左右,所以注定这是一个比较漫长的过程。特别是不能采用我们平时的下载工具,并且服务器在国外,更加剧了耗时的长度。
4. 安装Cygwin
还是依然点击setup.exe这个程序,不过这次我们选择的是:"Install From Local Directory",如图:
接着选择安装的目录,我这里是"D:ProgramFilesCygwin",如图所示:
再接下来呢,选择的就是你下载回来的Cygwin包的路径了,而我这里路径是"D:Toolscygwin",如图所示:
可能有朋友无法确定自己的安装路径,其实很简单,本地安装包路径就是setup.ini这个文件所在的文件夹。
紧接着的安装组件还是和之前一样,全部选择为install。点选下一步之后,就等着漫长的安装过程的结束吧,如下图所示:
5. 设置环境变量
安装完毕之后,为了能够方便编译NDK,最好是设置相应的环境变量。打开cygwin的安装目录下的home文件夹,然后进入到相应的用户名中,如果你发现该用户名下有.bash_profile文件,那么接下来就简单多了,直接用记事本打开该文件,然后在文件末尾添加如下文字:
#创建NDK的路径,在windows中我的路径为:D:ProgramFilesAndroidNDK
NDK_ROOT=/cygdrive/D/ProgramFiles/Android/NDK
#添加到PATH环境变量中
export NDK_ROOT
保存之后,打开cygwin,在命令行输入:cd $NDK_ROOT。这里注意,不像windows下的CMD,这里一定是区分大小写的。如果不出意外,就会进入到我们NDK的安装目录了。
如果相应的用户名文件夹中没有改文件,可能问题就没那么简单了。如果你在该用户名下建立一个.bash_profile ,并添加了相应的文字,然后如上面所说一切正常的话,那么恭喜你!但事实上,往往不是那么顺利。很可能你会发现,即使我们在用户名下建立了该文件,但似乎环境变量根本没有成功设置。这个很可能是用户名所在的路径设置不对,要检验路径,直接在cygwin输入pwd即可。
比如,我安装完毕之后,输入pwd,画面显示:
这意味着,如果我将.bash_profile放到D:ProgramFilesCygwinhomeAdministrator 是没有任何作用的,而应该放到D:WorkPlace !
那么,我们有没有办法更改这个目录呢?答案当然是可以,只要修改相应的环境变量即可。在"我的电脑"点击右键,然后按如下路径进行选择:属性 -> 高级 -> 环境变量。在上面或下面的框中,找到HOME这个环境变量,更改为相应的数值即可。更改之后,重启电脑,将.bash_profile拷贝到HOME变量指向的路径,启动cygwin,那么就可以生效了。这里需要注意,一定要重启电脑,否则这HOME变量之前的数值可能还会影响到cygwin。
更改HOME变量数值之后,输入pwd,很明显看出,路径已经改变,NDK_ROOT变量也起作用了,如图:
6. 编译程序
接下来,我们就来编译一个程序试试。
首先,在cygwin命令行界面进入到D:ProgramFilesAndroidNDKsampleshello-jni路径。如果对命令行不熟悉的朋友,可以输入如下命令:cd /cygdrive/D/ProgramFiles/Android/NDK/samples/hello-jni
然后输入"$NDK_ROOT/ndk-build"进行编译。$NDK_ROOT是之前在.bash_profile设置的环境路径,而ndk-build是调用NDK的编译工具。如果不出问题,它会生成一个libs目录,并且编译生成的.so文件也会悉数在此,如下图所示:
”/////引用结束
到这个地方,我们已经完成了Cygwin的配置
安装SDK。在SDK目录中双击SDK Manager.exe这个文件,启动后将会列出可以安装的SDK。如果不想麻烦去弄清那些之间是有依赖关系的,那就可以选择全部安装。只不过需要的时间比较长。开始安装后,你就可以去睡觉了,早上起来再点击OK,完成安装吧。
安装Eclipse,其实这个东西是不用安装的,直接解压缩就可以使用了。运行Eclipse后会发现在EClipse上已经将Cygwin的c编译器集成在Eclipse中了。所以我们现在需要做的就是安装ADT。
help--->install new software。在这个对话框中添加上我们已经下载好的ADT 12.0,一路Next下去就可以了,Eclipse将会自动安装ADT。安装完成后,需要为SDK添加SDK路径。Project--->Properties。这个页面上我们选择Android的Build选项,然后为该文本框添加上SDK的目录,完成后点击Apply。Eclipse将会解析出SDK中包含所有的Android版本。
到此为止我们已经完成了环境的搭建。
二、测试该环境
测试环境一般使用NDK文件里自己带的Samples工程。
打开SDK MAnager.exe创建一个模拟器,模拟器用到的SDK要和你开发的工程的SDK一致。
前面我们已经在NDK中编译好了hello-jni的so文件。我们在Eclipse IDE上添加一个Android工程,工程的内容引用hello-jni的源文件。完成工程创建后。在Run--->Run configurations中为Android添加一个Debug配置。工程用hellojni工程文件夹,Target用前面创建好的模拟器。
在SDK Manger.exe启动模拟器,待模拟器完全启动后。点击Run as按钮就可以在模拟器上看到工程的效果了。
引用资料:
《图文详解如何搭建Windows的Android C++开发环境(一)》------http://www.2cto.com/kf/201104/87831.html
Android Developer-------http://developer.android.com/
Eclipse Website ---------------------------------------------------http://www.eclipse.org/
转载于:https://www.cnblogs.com/imagelab/archive/2011/08/17/2141699.html