Android学习——windows下搭建Cygwin环境

  在上一篇博文《Android学习——windows下搭建NDK_r9环境》中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我们可以不需要配置Cygwin也可以进行编译了,那么有特殊情况呢?下面就来讲解一下Cygwin这个工具吧。

1.Cygwin简介

Cygwin是在Windows下模拟Linux环境的工具集,它主要包含一下两个部分:

   1) cywin1.dll : 该文件模拟了真是的LinuxAPI,是一个API模拟层,开发人员可以将在Linux下编写的C/C++ 源代码在Cygwin中进行编译,在编译的过程中,如果C/C++ 调用了Linux中的API,Cygwin就会利用cygwin1.dll 来编译 C/C++源代码,从而可以在windows下生成Linux下的lib...so文件

   2) 模拟Linux环境的工具集

2. Cygwin 下载  

下载地址:http://www.cygwin.com/

由于安装包过于庞大,所以官网只提供了在线安装程序进行下载,下面根据自己的系统选择相应的版本进行下载:

3. Cygwin 安装说明

   1) 双击刚刚下载的安装包打开,出现以下界面, 直接点击下一步,如图:

  

   2) 选择安装方式: 如果你以前安装过并且有保存安装文件,可以选择第三个本地安装,由于我是第一次安装,在这里选择在线安装,如图:

  

   3) 选择安装目录:在线下载安装的大小高达18.6G,如果C盘空间比较紧张的话,建议放在其他盘。

    

   4) 选择下载文件存放路径:这些文件下载后会一直保留着,下次安装可以选择本地安装,就不用每次都是从网上下载,下载后的安装包大概5G(建议保留,下次可以直接本地安装)

     

   5) 选择连接方式:在公司内网的话可能要设置下代理才能连上的话就选择第三项,否则选择第一项

  

   6) 选择镜像网站:建议选择 http://mirrors.kernel.org速度会快一点,亲测。

  

   7) 点击下一步后,出现下图,正在加载需要安装的项目

  

   8) 等待加载安装项载入,选择安装项。点击All旁边的Default,如图:

  

   9) 后面会弹出两次窗口,都点击确定

    

  10) 所有default变成了install后就可以点下一步

  

  11) 接着开始进行环境要求预检测:

  

  12) 会弹出一个窗口,说明解决依赖需要的的安装,继续点击下一步

  

  13) 接下来就是进行下载和安装了,网速比较慢,建议晚上睡觉前进行下载安装,第二天天亮就可以完成了(我当时用了12个钟)

  

   14) 安装完成后,我们可以通过桌面上的一下图标打开Cygwin程序,他是一个类似Linux的控制台程序,可以在里面输入Linux命令

  

  15) 为Cygwin 配置环境变量

  I. 点击新建按钮,新建一个系统变量, 变量名为 CYGWIN_HOME ,变量值为 你的Cygwin的安装路径 (由于我早已经配置好了,所以只展示编辑状态下的值给大家看)

  

  II. 在系统变量Path中添加值 %CYGWIN_HOME%;. (注意最后面有.)在最开头,如图:

  

4. Cygwin 安装验证

执行完上面的步骤后,我们已经完成了安装步骤,下面我们来执行验证下是否安装成功,同时验证一下makge和gcc(C语言编译器)的版本

   1) 执行命令 gcc -v,结果输出如下:

  

   2) 执行命令 make -v,结果输出如下:

  

到这里,我们就可以确定Cygwin已经安装完毕了。

5. Cygwin 中使用 NDK

5.1 Cygwin 中 NDK的环境搭建

现在虽然已经安装好了Android NDK 和Cygwin,但是他们都是独立的环境,要想使用Cygwin来编译基于Android NDK的C/C++程序的话,我们还需要将Android NDK和Cygwin进行整合,下面直接讲解一下配置的步骤吧:

   1)  打开 <Cygwin安装目录>\home\<你的用户名>\.bash_profile文件,并且在该文件中进行 NDK 环境变量的配置:

ANDROID_NDK_ROOT=/cygdrive/<NDK安装盘符>/<NDK安装路径>
export ANDROID_NDK_ROOT

例如我个人就是在 D:\DevTools\cygwin64\home\lenovo 路径下的 .bash_profile 文件中最后面配置了如下内容:

ANDROID_NDK_ROOT=/cygdrive/d/DevTools/JAVA/adt-bundle-windows/android-ndk-r9b
export ANDROID_NDK_ROOT

   2) 保存改文件的修改内容并且重新启动Cygwin控制台

   3) 执行命令 echo $ANDROID_NDK_ROOT ,输出输出我们配置的NDK安装路径表示配置成功,如图:

  

5.2 Cygwin 中 NDK的使用说明

下面,我们以NDK中给出的hello-jni作为使用例子进行讲解,步骤如下:

   1) 进入hello-jni文件夹或者他的任意一个父文件夹,如图,我们直接通过cd命令进入 hello-jni 目录下

  

   2) 直接执行命令 $ANDROID_NDK_ROOT/ndk-build 进行编译,输出以下结果表示编译成功

  

   3) 如上图所示,我们已经编译成功了,而且,我们可以在\samples\hello-jni\obj\local\armeabi文件夹中看到编译后的动态链接库libhello-jni.so。

 

 

posted @ 2013-12-10 16:00  小学徒V  阅读(7173)  评论(2编辑  收藏  举报