windows下配置android源码获取环境

[size=large][color=darkblue]获取android源码主要用到的工具:[/color][/size]
[b]cURL:cURL是一个利用URL语法在命令行方式下工作的文件传输工具。[/b]
[url]http://curl.haxx.se/[/url]

[b]git:android使用的版本控制软件。[/b]
[url]http://git-scm.com/download[/url]
windows版git(msysGit),带有gui的[url]http://code.google.com/p/msysgit/downloads/list?can=3[/url]

[b]repo:建立在git上的一个管理工具,简化git的使用的。它其实就是一个python脚本文件[/b]
[url]http://android.git.kernel.org/repo[/url]

[size=large][color=darkblue]除了上面的工具,还需要的一些依赖:[/color][/size]
[b]python:repo的命令都是python脚本,所以需要用到python[/b]

[size=large][color=darkblue]这里我们使用cygwin来下载上面提到的的大部分工具:[/color][/size]
[b]cygwin:[/b]
这个项目的名字来源于:GNU、Cygnus、Windows,3者的缩写。Cygwin的目标是:构建一套Windows下的Linux模拟环境。因此,Cygwin是一个庞大的项目,不只包括Linux下的开发环境,也包括工作环境,和各种各样的Linux下的软件。
[url]http://cygwin.com/install.html[/url]该页面能够下载到一个网络安装程序setup.exe,然后通过它我们就可以更新和下载最新的工具版本了。

[b]启动cygwin[/b]
[img]http://dl.iteye.com/upload/attachment/511105/413fbd57-96dc-3543-a797-bfc133e56707.png[/img]

[b]选择从网络安装[/b]
[img]http://dl.iteye.com/upload/attachment/511107/07778d4f-69f7-3f66-9ce0-37e618fccf51.png[/img]

[b]选择安装根目录[/b]
[img]http://dl.iteye.com/upload/attachment/511109/30f6043d-286d-3714-9d6b-6812e55a6a31.png[/img]

[b]选择临时文件目录[/b]
[img]http://dl.iteye.com/upload/attachment/511111/969f5245-126a-3442-8a95-40e7734058fc.png[/img]

[b]代理设置,如果所在的网络需要使用代理的话这里需要进行设置。我使用的是移动额宽带,不存在代理,所以无需设置[/b]
[img]http://dl.iteye.com/upload/attachment/511113/b84d5ba5-3e8e-3d72-842a-f79d5bf00679.png[/img]

[b]选择下载站点,一般离我们较近的站点速度会比较快一点[/b]
[img]http://dl.iteye.com/upload/attachment/511115/19f40fa9-fe2b-3b3e-bdde-c26284f6c730.png[/img]

[b]开始更新工具列表[/b]
[img]http://dl.iteye.com/upload/attachment/511117/4153deac-2d46-3382-b509-e0f4d7805a88.png[/img]

[b]搜索curl,并选择要安装的包[/b]
[img]http://dl.iteye.com/upload/attachment/511121/67ae21e7-1595-32bf-a4e4-0c8d278cd985.png[/img]

[b]搜索git,并选择要安装的包。git因为我之前就安装好了,所以我并没有安装这边的,你可以去上面的站点下载.exe的git安装文件[/b]
[img]http://dl.iteye.com/upload/attachment/511123/315b2cb5-e1c9-33cb-be8e-95a802cbbb9e.png[/img]

[b]所有python,并选择要安装的包[/b]
[img]http://dl.iteye.com/upload/attachment/511125/4c8ce8cb-2c7a-3cd6-802d-ad20ab7e8083.png[/img]

[b]确定下载所有工具的依赖文件[/b]
[img]http://dl.iteye.com/upload/attachment/511127/44999b84-c607-3a54-bf82-50ebe311c914.png[/img]

[b]开始下载...[/b]
[img]http://dl.iteye.com/upload/attachment/511129/b42856b5-6c11-33ae-bffc-ff5231aa953b.png[/img]

[b]安装完毕[/b]
[img]http://dl.iteye.com/upload/attachment/511133/5f3a324f-bd53-31b2-90bf-3fdb670816e9.png[/img]

[b]验证python是否安装成功[/b]
[img]http://dl.iteye.com/upload/attachment/511135/b156913c-c0d1-38d9-8eaf-8049042ddcb0.png[/img]

[b]没成功你只需要将cygin/bin目录加入到环境变量path中就可以了[/b]
[img]http://dl.iteye.com/upload/attachment/511137/eec0b095-5571-3f12-9a13-e06c46595197.png[/img]

[b]curl是否安装成功[/b]
[img]http://dl.iteye.com/upload/attachment/511139/341139bc-eb13-350f-b866-8a20b92c8a21.png[/img]

[b]使用curl下载repo,repo其实就是一个python脚本而已。
curl的基本使用[url]http://macroc.7mx.cn/20081993247.html[/url][/b]
[img]http://dl.iteye.com/upload/attachment/511148/e9cee806-f36e-301c-abcf-ea53391eb9c5.png[/img]

[b]repo脚本[/b]
[img]http://dl.iteye.com/upload/attachment/511150/ec583079-8286-3888-b611-e21f2c56b76b.png[/img]

好像这个repo脚本是专门为linux写的,android官方也说明了最好在linux下下载和编译android源码,所以repo在window上没能用起来(主要是对python不熟悉),但这并不影响我们下载源码,因为repo是建立在git上的一个管理工具而已,没有repo,我们可以照样使用git来下载源码。(同时,如果用repo下的话是下载的整个android的源码,虚拟机,一些工具的源码等,有3个多G,但一般我们就只需要其中的一部分而已)。具体可以参考这个:
[url]http://www.cnblogs.com/qianxudetianxia/archive/2011/05/29/2060636.html[/url]

因为android的源码很大,所有源码都下载下来的话也没有那个必要,其实只要下载我们所需要的那一部分就ok了,这样的话我们首先得了解一下android的源码结构,不然的话就无从下手了,可以参考这个:
[url]http://blog.youkuaiyun.com/pottichu/article/details/5655436[/url]

[size=large][color=darkblue]我们以下载android中的浏览器程序的源码为例,来展示如何用git下载需要的代码[/color][/size]
[b]
首先进入GitWeb页面找到我们想要下载代码。
GitWeb:该网站列出了所有可下载的源码列表。[url]http://android.git.kernel.org/[/url](现在这个网站好像暂时关闭了,默认会跳到android的源码下载页面http://source.android.com/source/downloading.html,这里提供另外一个现在可以查看git资源的网站[url]http://git.tarot.com.tw/[/url],这个现在好像也关闭了,再提供一个github上的,这个应该是比较稳定的:https://github.com/android)
[/b]
[img]http://dl.iteye.com/upload/attachment/511154/fdbe7d52-e2df-3dda-b7f2-b089b592877e.png[/img]

[b]然后在命令行使用git下载那个要下载的源码[/b]
[img]http://dl.iteye.com/upload/attachment/511158/863bfa20-75d5-3093-85a2-9f165471611a.png[/img]

[b]下载好后[/b]
[img]http://dl.iteye.com/upload/attachment/511161/0bc002ed-b812-35bd-b532-5cf80e927ec6.png[/img]


[size=large][color=darkblue]其它相关网站[/color][/size]
[b]git使用参考:
基本使用:[url]http://www.cnblogs.com/qianxudetianxia/archive/2011/06/12/2035974.html[/url]
常用命令介绍:[url]http://zensheno.blog.51cto.com/2712776/490748[/url]

android官方的源码站点,描述了如何下载源码及如何对android进行编译、移植等:[url]http://source.android.com/index.html[/url]

git官网推荐的一些git教程:[url]http://git-scm.com/documentation[/url]

git community book:[url]http://gitbook.liuhui998.com/index.html[/url]

git user's manual:[url]http://www.kernel.org/pub/software/scm/git/docs/user-manual.html[/url]

git magic:也是教程之一,稍微看了一下,好像是斯坦福的教材,还是斯坦福的人编写的

至于选择哪个教程,自己觉得哪个好就看哪个,个人倾向是看最薄的[/b]

[b]android java部分源码压缩包下载:[url]http://rgruet.free.fr/public/[/url][/b]


[size=large][color=darkblue]下载anroid framework框架的源码,并获取指定版本的框架源码[/color][/size]
[b]首先还是进入GitWeb找framework源码的位置(注意,现在android源码的地址发生了改变,好像git web也没有了,具体原因可以看这[url]http://www.cnblogs.com/dancefire/archive/2011/10/21/android_source_server_online_again.html)[/url][/b]
[img]http://dl.iteye.com/upload/attachment/523909/1b7540ba-a7f5-3b9e-83ab-30577e864924.png[/img]
只需要下载其中的base部分就够了,其它的就是如google map等

[b]然后使用git来下载。这部分的代码比较大,我下载下来有500多MB,所以需要等待一段时间。我是在source_android下直接下载的,所以默认git创建一个base目录作为根目录[/b]
[b]最新的源码地址:git clone http://android.googlesource.com/platform/frameworks/base.git[/b]
[img]http://dl.iteye.com/upload/attachment/523948/ac5dfc0c-62cf-39c6-b76e-323d96a77dd3.png[/img]

[b]对于要获取指定版本的framework的源码,比如2.2的,我们是在本地来操作的。因为刚刚下载下来的源码中包含了到目前为止最新的源码。这就要用到git的分支功能了。[/b]

[b]首先进入base目录,查看下载下来的源码中的所有分支,然后切换到指定的分支。(对于命令不理解的,上面提供的几个链接里面的教程可以帮助理解)[/b]
[img]http://dl.iteye.com/upload/attachment/523913/aa32e758-162f-36ba-9d4d-60c69c91dde6.png[/img]

[b]切换到2.2后,就可以提取需要部分的源码了。(对于到底framework源码放在哪个目录下,也参考上面的android源码目录结构的连接)。java层的源码大部分在core目录中[/b]

[img]http://dl.iteye.com/upload/attachment/523917/e8d7367b-9241-327b-b960-78f38fe81182.png[/img]
[img]http://dl.iteye.com/upload/attachment/523919/bca54964-d5b5-3155-8b6a-23d5bde69eeb.png[/img]
[img]http://dl.iteye.com/upload/attachment/523921/0bebb472-8e8c-3d07-96cb-70d0df4b6511.png[/img]

[b]
android的各个版本命名:具体可以参考[url]http://baike.baidu.com/view/1241829.html[/url]
Android 1.1
  发布时间:发布于 2008 年9月
Android 1.5
  Cupcake纸杯蛋糕
  发布时间:发布于 2009 年 4 月
Android 1.6
  Donut甜甜圈
  发布时间:2009 年 9 月
Android 2.0
  Eclair松饼
  发布时间:2009 年 10 月 26 日
Android 2.1
  Eclair松饼
Android 2.2
  Froyo冻酸奶
Android 2.3
  Gingerbread姜饼
Android 3.0
  Honeycomb(蜂巢)
Android3.1
  IcecreamSandwich 冰激凌三明治
Android 3.2
  Honeycomb(蜂巢)
[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值