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 下载
由于安装包过于庞大,所以官网只提供了在线安装程序进行下载,下面根据自己的系统选择相应的版本进行下载:
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。
转载请注明出处:http://www.cnblogs.com/xiaoxuetu/ ,谢谢合作
哈喽, 大家好! 我是小学徒V。 您的支持是我无限的动力,在此非常感谢您阅读完本篇文章。
如果大家觉得我写的不错的话,不要忘记动动手指点下左下角的 好文要顶 按钮哦
如果大家想继续关注我的后续博文,可以通过直接点击左下角的 关注我 按钮关注我的最新动态
如果大家对本文内容存在疑问,可以直接留下评论,我会及时处理的哦