cygwin下可以编译android源码吗

作者&投稿:鄣通 (若有异议请与网页底部的电邮联系)
windows 下开发 android 需要安装 cygwin吗~

一、Android NDK环境简介

Android NDK 是运行于Android 平台上的Native Development Kit 的缩写。

Android 应用开发者可以通过NDK 调用C 或C++ 本地代码。

更多介绍参见:http://developer.android.com/sdk/ndk/1.5_r1/index.html


二 、搭建Android NDK环境

安装cygwin

要在Windows 平台上进行NDK的开发,需要安装cygwin(一个在windows平台上模拟linux的软件),NDK 编译需要用到Cygwin 中的make 和gcc, 所以先来下载并安装Cygwin 关于cygwin 安装比较复杂,其下载地址:http://www.cygwin.com/

安装步骤:
1.选择安装方式:
1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。
2、选择第一项,然后点击下一步:
3、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:
4、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目 录,直接点下一步就可以:
5、此时你共有三种连接方式选择:
1) Direct Connection:直接连接。
2) Use IE5 Settings:使用IE的连接参数设置进行连接。
3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。
用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,
6、 这是选择要下载的站点,在提供的下载站点中选择一个,选择后点下一步
7、 此时会下载加载安装包列表
8、Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包
9、 然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个 就没必要选了。
10、 下面测试一下cygwin是不是已经安装好了。
运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状 态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!

安装 Android NDK
可到Android官网下载:http://developer.android.com/sdk/ndk/index.html
注意选择相应的版本下载,下载后将其解压就可以了。
配置cygwin,用UtriaEdit打开cygwin安装目录下的home//.bach-profile文件,在后面加上
NDK=/cygdrive/
export NDK



两行,也可以在windows 下添加 环境变量 $NDK=。
注意:这里如果是中文OS 使用记事本或者写字板打开编辑后,重新启动Cygwin 会报错(编码不同)。
(这部有可能不成功 需要用一个dos2unix.exe把bash_profile这个文件转下编码,具体下载地址大家自己找找) 我直接用的 notepad++ 修改的没有问题。
至此,我们就可以用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于d/android-ndk-r7c/samples/hello-jni (根据你具体的安装位置而定),

运行cygwin,输入命令cd /cygdrive/d/android-ndk-r7c/samples/hello-jni,进入到d/android-ndk-r7c/samples/hello-jni目录。

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


现在我们终于可以用NDK来编译完成 jni 例子了 。 以上的需要命令来编译,下就用Eclipse CDT 插件来完成

安装CDT插件
CDT是一个使Eclipse支持C/C++的插件。这是下载地址:http://www.eclipse.org/cdt/downloads.php
可以通过在Eclipse 中 help > Install New Software 中安装, 现在,进入Help – Install New Software菜单项,增加一项:CDT - http://download.eclipse.org/tools/cdt/releases/helios, 等待更新项目树加载,然后选中Programming Languages分支下的Eclipse C/C++ Development Tools,然后点击Next按钮。按照后续的提示,接受缺省的选项,最后必须接受许可,以便让Eclipse完成更新。完成后,你将会看到要求重启Eclipse的提示,点击Yes按钮,等待Eclipse重启。现在你的Eclipse就支持C/C++了。
也可以下载插件到本地 ,从本地安装插件。(网络有时候比较。。。)
注意,下载对应 Eclipse 版本的插件 附正版本图



配置C/C++的编译器

1、 打开eclipse,导入ndk自带的hello-jni例子,右键单击项目名称,点击Properties,弹出配置界面,之后再点击Builders,弹出项目的编译工具列表,之后点击New,新添加一个编译器,点击后出现添加界面,选择Program,点 击OK
2、出现了添加界面,首先给编译配置起个名字,如:C_Builder
设置Location为\bin\bash.exe程序,例如:E:\cygwin\bin\bash.exe,设置Working Directory为\bin目录,例如:E:\cygwin\bin
设置Arguments为
--login -c "cd /cygdrive/d/android-ndk-r7c/samples/hello-jni && $NDK/ndk-build"

上面的配置中 d/android-ndk-r7c/samples/hello-jni 是你当前要编译的程序的目录,$NDK是之前配置 的ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是 给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序
3、接着切换到Refresh选项卡,给Refresh resources upon completion打上钩

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

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


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

7、 编译配置也配置完成啦,现在来测试一下是否可以自动编译呢,当你点击 ok 完成之后 其实在console 就可以看到 自动编译信息
如图:

打开项目jni目录里的hello-jni.c文件把提示Hello from JNI!改成其他的文字:如:Hello,My name is 。。。。,然后再模拟器中运行你的程序,模拟器中应该就显示了你最新修改的文字! 如果以上的步骤都没错的话。

首先qmake-project然后打开生成的hello.pro文件,加上两行QT+=coreguigreaterThan(QT_MAJOR_VERSION,4):QT+=widgets把这两行放前面大体如下:#######################################################################Automaticallygeneratedbyqmake(3.0)?????2608:54:102014######################################################################QT+=coreguigreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTEMPLATE=appTARGET=hello#InputSOURCES+=main.cpp然后qmakehello.pro再mingw32-make

cygwin下可以编译android源码。

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环境的工具集

另外,msys也是在windows 下模拟linux环境的工具。

你为什么要用cygwin来编译源码?cygwin是windows平台上运行的类UNIX模拟环境。
但是WIN上面的安卓开发环境是非常完善的,应该说大部分的安卓开发都是在WIN环境下的,不知道你要搞个UNIX环境干嘛?
WIN下直接Eclipse+ADT就可以编译安卓源码了。

你为什么要用cygwin来编译源码?cygwin是windows平台上运行的类UNIX模拟环境。
但是WIN上面的安卓开发环境是非常完善的,应该说大部分的安卓开发都是在WIN环境下的,不知道你要搞个UNIX环境干嘛?
WIN下直接Eclipse+ADT就可以编译安卓源码了。


c语言用什么编程软件
1、MinGW:是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合。2、WIN-TC:是一个TC2 WINDOWS平台开发工具。该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能。3、ygwin:是一个在windows平台上运行的类UNI...

能够运行c语言的软件有哪些
Microsoft Visual C++ 、Microsoft Visual Studio、 DEV C++、Code::Blocks、Borland C++、WaTCom C++、Borland C++ Builder、GNU DJGPP C++、Lccwin32 C Compiler3.1、High C、Turb C、gcc、C-Free和Win-TC、My Tc等等,太多了,由于C语言比较成熟,所以编程环境很多。建议使用Microsoft Visual C++。...

铁路工程 验工计价
* 键入:yg。 ③* 在根目录下键入Win,启动Windows。 * 用鼠标器连续轻点两下yg的图标。 windows95中启动YG V3.0方法有两种: 1.用鼠标依次选择:开始菜单→程序→验工计价(115)号专用版→验工计价系统 2.用鼠标器连续轻点两下验工计价的快捷方式图标。三、退出YG V3.0 用鼠标点取主菜单中退出系统或用热键CTR...

YG旗下的艺人都有谁啊
4、南太铉(Nam Tae Hyun),1994年5月10日出生于韩国首尔,韩国男歌手。2013年8月与YG娱乐旗下练习生姜胜允、金振宇、李胜勋和宋闵浩共同参加节目《WIN:WHO IS NEXT》获得胜利,以WINNER组合成员身份出道。5、姜升润(Kang Seung Yoon),1994年1月21日出生于韩国釜山。歌手、演员,韩国组合WINNER队...

who is next 中失败了的B队后来怎么了?
YG娱乐(以下YG)代表制作人杨贤硕”WIN’失败组的解散与否对“重新考虑一下了”。杨贤石25日下午9点在松坡区奥林匹克公园SK奥运会手球球场举行的YG新人男子组合在程序Mnet”WHO IS NEXT:WIN(以下WIN)决赛之前,参加发布会说到。城固县是“你的队表演,保留,最坏的情况下拆卸等词,对大众承诺了“这...

下面的delphi代码有点问题,恳请各位高手帮忙解决
使用WINAPI宏可以创建自己的APIs。2)名字修饰约定1、修饰名(Decoration name)“C”或者“C++”函数在内部(编译和链接)通过修饰名识别。修饰名是编译器在编译函数定义或者原型时生成的字符串。有些情况下使用函数的修饰名是必要的,如在模块定义文件里头指定输出“C++”重载函数、构造函数、析构函数,又如在汇编代码里...

DK10MT7427YG0帮我查下嘛。。。建筑和结构 WIN7系统
结构1749ca39ac136aba15cb6eb79b 建筑258ca0eb0cd4090c10f0d3d38c ———·注册提示:如果是WIN7的系统 ,注册过程错误 ·在天正图标右键选择属性》兼容性》再以管理员身份运行打勾 ·重新复制注册码 注册即可 ·如果打开天正 出现新的ID 把新的ID发上来追问 再帮你计算。·如有问题请追问,满...

求韩饭圈的小姐姐小伙伴们辨认一下!!这个是哪个组合里的哪一只小可_百...
金秦禹(Kim Jin Woo),1991年9月26日出生于韩国荏子岛,韩国男歌手,男子演唱组合WINNER成员之一。2013年8月与YG娱乐公司旗下练习生姜升润、李升勋、宋旻浩和南太铉共同参加节目《WIN:WHOISNEXT》获得胜利,组成WINNER组合而活跃于演艺圈。2014年8月12日以WINNER组合发行首张正规专辑《2014 S\/S》而出道...

南子炫,一个韩国艺人好像??能给一下他的简介吗?
南泰铉(Nam Tae Hyun),1994年5月10日出生于韩国首尔,韩国男歌手,男子演唱团体WINNER成员。2013年8月与YG娱乐旗下练习生姜胜允、金振宇、李胜勋和宋闵浩共同参加节目《WIN:WHOISNEXT》获得胜利,组成WINNER组合而活跃于演艺圈;2014年8月14日,组合发行首张正规专辑《2014 S\/S》。2016年1月11日...

谁能帮小弟激活一下,或者给我一个真正可激活的密钥,让我激活一下,谢谢...
1.Win + X 选择命令提示符(管理员),以管理员身份运行“命令提示符”。2.输入命令:Slmgr \/ipk NG4HW-VH26C-733KW-K6F98-J8CK4(每个人的情况不一样,就是你申请到的那个免费Windows 8 Media Center Pack 产品密钥序列号)回车,等几秒后,提示已成功安装该密匙。3.输入命令:slmgr -skms...

通化县19180098763: cygwin下可以编译android源码吗 -
骑依益爽: cygwin下可以编译android源码.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环境的工具集 另外,msys也是在windows 下模拟linux环境的工具.

通化县19180098763: 在windows下是否可以编译android的源码?
骑依益爽: 在虚拟机上编 编死你,要编一天的时间 整个电脑就不能做其他的了.建你装个双系统 ubuntu

通化县19180098763: 如何在Linux平台下编译android工程 -
骑依益爽: 我是在windows下做开发的,但是编译环境还是在linux上..大体的步骤如下:1.首先在windows环境下编写工程(eclipse下编写android工程)2.打开linux开发环境(tcl平台:\\10.120.90.207\longc\workspace\code\project\kernel\android\JB)3.将...

通化县19180098763: 如何把win32下写好的cocos2d - x 转到android上运行 -
骑依益爽: 首先必须具备几样工具. cygwin , ndk , android-sdk,eclipse 编译. 其实很简单. cocos2d-x 2.0.1的最新版本.里面有个文件create-android-project.bat 关于这个配置,我前几篇文章有写 现在生成个普通的HellowWorld 的android项目也就是自带...

通化县19180098763: Linux命令行怎么编译Android代码 -
骑依益爽: 这个问题已经找到解决方案了,方法如下:1.在Linux设置文件共享,将项目 共享,最好有个密码什么的.2.在Linux上配置ssh server,用于 和编译安卓源码3.Linux mac 通过 连接,原因是有线传输比无线的快很多,ping只是0.3左右ms,不影响使用.然后就可以mac编写代码,然后ssh 编译什么的,很方便,

通化县19180098763: 如何在windows下编译linux的开源程序 -
骑依益爽: 提问时间: 2016年10月20日 最佳答案: 两种方法 一种是在windows安装linux的虚拟机,然后编译 一种是简单编译,用win 10自带的bash进行编译

通化县19180098763: Windows下怎样编译出可在Linux上执行的程序 -
骑依益爽: 你好,1、可以安装cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件,搜索官网下载即可,下载完成,安装的时候注意记得安装相关语言的编译器、解释器,在cygwin中生成Linux可执行文件.2、 可以安装vmware、virtualpc等虚拟机,在虚拟机里安装linux系统,然后在linux系统中编译相应的源码,生成linux上的可执行文件.

通化县19180098763: cygwin 下 编译的库 android上能应用吗 -
骑依益爽: 你怎么编译的, cocos2dx的android.mk不能直接编译, 要编译主工程时包含编译. 可以参考tests\proj.android\build_native.sh文件, 把里面的几个环境变量还成你自己的路径再运行即可. 你的主工程的jni目录下的android.mk和application.mk也要参考

通化县19180098763: 在Windows下编译出linux可执行的文件 -
骑依益爽: cygwin 真不能编译出来 linux 程序百,他编译出来的还是 cygwin 的程序(cygwin 的一个特点是需要 cygwin1.dll ,当然用特殊参数和手段可以编译出不依赖 cygwin.dll 的程序).你需要自己装交叉编译器,安装一个能编译出 linux 程序的编译工具...

通化县19180098763: windows下如何编译android源码? -
骑依益爽: 如果没记错,windows下是没法编译android框架源代码的 因为android是基于linux平台的,因此底层的很多东西都是基于linux系统的 如果只是单纯的android应用程序,则可以在windows下开发编译 只需要用Eclipse的adt插件加上windows下开发的Android SDK就行了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网