文章标签 ‘Cyanogenmod’

本文由蛋总(@x140dan)口述,我(@imwolfe)代笔,加入了我的部分观点。 本文源于一次与蛋总的Gtalk对话,也源于我一直以来对Cyanogenmod团队和运作的迷惑。跟蛋总的交流很深入,只可惜我是卖药卖丝袜的博士,对代码、编程之类的知识一窍不通,所以蛋总的口述我也是一知半解。当蛋总问我有没有兴趣写一写Cyanogenmod的故事时,我是比较胆怯的,只怕写不好,反而给大家造成误解。 蛋总和我都是出于同一个目的,消除大家对CM的误解,不要让许多不知情的国人谩骂CM(当然,人家CM团队也不在乎你们的谩骂)。 接下来,就让我试着简单讲解一下Cyanogenmod(CM)的故事吧。介绍的不好,不对,不完整的地方,希望看到的朋友在留言中注明。我是一名科研工作者,写东西都希望本着公正的文字来表述,不带任何个人评论。 ——————————————–严肃分割线———————————————– Cyanogenmod,简称CM,是在Android发布之后出现的一个团队或组织,它们在Android Open Source Project(AOSP)基础上定制Android ROM,使许多优秀的Android手机不再受制于运营商,能够在运营商提供官方升级之前将你的手机系统升级到最新版本,甚至是在官方放弃升级后仍提供升级服务。 官方主页:http://www.cyanogenmod.com/ 支持机型列表:http://www.cyanogenmod.com/devices CM在Android基础上加入了自己的代码,比如接通挂断振动、电量显示、锁屏界面定制等,功能十分强大。可以说,CM的ROM是对Android这一简陋系统的补充和完善。 这些都不是我们探讨的重点,而是网上都可以搜索得到的。我一直好奇的,是CM的运作。 CM到底是如何协作的? 为什么每天都有nightly包更新? nightly,RC,stable,这些版本之间有何区别? 作为普通用户,是不是需要每天都更新nightly? CM是一个团队,由许多人构成,有台前出名的,也有更多幕后更新代码的人。 每一个代码贡献者将代码提交给CM之后,必须经过严格的审核才会加入到CM更新包中,而不是任何人提供的代码都会自动并入CM中,更不是像协作一份文件,任何人任何时候都可以作出修改。简而言之,CM有一套严格的审核管理模式。 CM的代码共享社区:https://github.com/ CM每天审核的代码列表:http://review.cyanogenmod.com/#q,status:open,n,z 由于组织人员越来越多,每天提交的代码也不计其数,所以CM的审核工作量十分巨大,是我们普通使用者无法想象的。 CM在审核每天的代码后,都会加入到ROM中,这就形成了nightly。但是,如果你要CM对nightly加入更新列表,确实非常困难,这也是我以前无法理解的地方。现在我明白了,CM没必要为一行代码的修改,两个字节的加入,而更新nightly列表,即便是更新了,也不太会有人关心的。 提交代码的人并不是拥有和使用着所有机器,更不可能对所有机型都提出代码更新,而是只针对自己手上使用着的机型。这就是说,并不是每一次的更新都是针对所有机型,比如我使用的Nexus S,某些代码的加入并不一定是针对NS的。 如果你会看代码审核页面,那么你就能预料到CM将在下一个nightly中加入什么功能和代码了。当然,这不是给我这种普通用户,代码盲的人看的。 所以,nightly可能是修复bug,加入代码,翻译部分内容,并不是每一个nightly都有让人一目了然的功能加入。 Nightlies exist for one reason: to make sure that all the changes of a given day do not break compiling on any devices. 这就是CM对nightly的官方解释。 那么,什么又是RC呢? 这对懂代码和编程的人应该比较容易理解,就是在一段时间后,CM认为功能基本稳定,没有大的bug,不会影响到机器的正常运行和使用,那么就会宣布RC版本。这个RC版本并不是随随便便宣布的,而是在经过反复测试后,经CM多数人审核通过而发布的。 ———————————————- 除了代码提交页面,代码审核页面外,当然还有接收bug提交的地方: [...]

2011年4月2日09:41 | 3 条评论
分类: Android
标签: