Android自学笔记(番外篇):全面搭建Linux环境(八)——AOSP参与者工作流程图说明...

--------------------------------------------------------------上一篇的分割线--------------------------------------------------------------------------------

[url=http://chirs1012f.iteye.com/blog/981114]Android自学笔记(番外篇):全面搭建Linux环境(七)——JDK的安装与配置(手动版)[/url]

[color=indigo][b][size=x-large]一、题外话[/size][/b][/color]
原定计划的是此篇介绍Repo方式下载Android2.3源码的,在研究的过程中,越发感觉到这一步水越深,一步入进去,抽身就困难了。为什么这么说?那我先来问一个问题,我们下载源码难道仅仅就是为了能在Eclipse里面很方便地查看源码么?如果真是这样的话,那我们就不必费劲巴力地用Repo来下载源码了,直接用git不就好了,还简单。
在介绍正文之前,首先来说说Android源仓库,访问[size=large][url=http://android.git.kernel.org/]git.kernel.org[/url][/size] ,我们能很清楚地看到每个项目的快照,这些项目就在Android源仓库里面滋养生息。如果想修改上面的代码,就需要在Linux环境下建立起Android源仓库,并把相关的依赖源文件下载到本地,之后就该干啥干啥去吧。再来说说,“下载到本地”,说明是这只是初始化工作,不算是核心的流程,你说我们用Repo就广下下源码,然后看看就得了?这简直是杀鸡用了牛刀。

题外话就说到这,下面以此引出正文。

[size=x-large][b][color=indigo]二、AOSP参与者工作流程图说明[/color][/b][/size]
先来解释一下什么是AOSP,英文全称是Android Open Source Project,中文全称Android开源项目。真正的Android平台貌似指的就是这个吧?
再介绍一个工具,Google这帮人管它叫[b][size=large]“gerrit”[/size][/b],它是一个基于web的代码审查工具。下面我们来看看AOSP参与者工作流程图,官方称此图虽然看上去复杂,但是其实用起来很容易,因为好多执行流程都是在Gerrit中来完成的,看下图:

[img]http://dl.iteye.com/upload/attachment/452162/117140dc-0808-3bfe-a703-cbafb221a229.png[/img]

且听我来给大家分析分析,上图有两个要素,用户角色和工作环境。
[b][size=large]用户角色[/size][/b]
1.Author(作者、参与者)
该角色就是在Android开源项目平台上发布/修改项目的参与者。
2.Approver(审批者)
该角色从图中看是对参与者所提交的代码进行审查。
3.Verifier(校验者)
该角色的主要任务就是构建/测试 参与者提交的代码,并最终提交到Android源仓库中。
[b][size=large]工作环境[/size][/b]
参与者的工作环境和校验者的工作环境,两者在各自的环境当中工作,互不干扰。

具体流程说明:
我们按用户角色划分来说明流程,这样会比较清晰。
[b][size=large]Author角色[/size][/b]
下载源码:
参与者先要使用Git和Repo工具搭建本地的开发环境,Git和Repo会从Andrioid源仓库将源码下载到参与者的机器上。这是整个流程的第一步,下载源码。
提交代码:
参与者将改好的项目代码提交到Gerrit上去以待审查,那么参与者可以通过Gerrit工具或者是Email的方式来通知审查者。
此流程还会自动地通过gerrit来通知校验者,参与者不用关心这个。
[b][size=large]Approver角色[/size][/b]
代码审查:
审查者会用Gerrit工具来审查代码,如果符合项目的要求,审查者会将这些代码标记为“code looks good”的标识(暂且就这样理解吧!),并附上注释,最后提交到校验者那里去;如果不合格,审查者会附上注释并通知参与者重新修改。
[b][size=large]Verifier角色[/size][/b]
代码校验:
检验者接受到提交过来的新代码并在他们的本地重新编译和测试,俗称打补丁。如果校验没问题了,检验者会在Gerrit中将此补丁设置为“verified”的标识并提交到Android源仓库中,否则不会再为此补丁设置任何标识,也就是保持“code look good”标识,附上注释并打回给参与者。
在提交的过程中,Gerrit这边还要进行一些校验流程。如果merge的时候没有发生冲突,那么好,直接与Android源仓库中对应的项目代码同步。
否则有可能是冲突了,Gerrit会去除这个补丁的 “verified” 标识,然后通知校验者手动merger这个补丁,那么校验者收到通知之后有两中选择,一是手动merge补丁,回到“A”的那步流程,二是打回给参与者让其自己merge或是重新提交。
还有可能是因为“code look good”和“verified”两个标识都未设置上,也会视为不允许提交到Android源仓库中,此时流程又到了检验者这边了。

[b][size=x-large][color=indigo]三、总结[/color][/size][/b]
这就是AOSP参与者工作流程图的介绍和说明,之所以在开篇的说到的用Repo下载源码只是这其中的一小步,水真的很深,这又牵扯到Linux、Git有关方面的知识。毕竟本人水平有限,先此系列教程暂告一段落,等达到足够水平的时候在回过头来深入研究也不迟。其实这已经偏离了此系列教程的既定目标了(传说中的跑偏?),貌似有些不务正业了,Android应用开发还没弄熟呢,竟折腾这个了- -即时转舵对目前现状来说,是比较明智的,还是先从开发Android应用程序学起方为上策~~~
既然已经学到这里了,不记录下来可惜了。希望此篇能给大家带来帮助。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值