
本书讲述了Android如何从一个无法引起投资者兴趣的相机软件发展成为安装在全球30亿台设备上的移动操作系统的故事。作者花了四年时间,采访了早期Android团队的大部分成员,让这些鲜为人知的精彩故事得以保存下来,并以幽默诙谐的笔风呈现给读者。作者按照时间顺序讲述了这家初创公司是如何起步的,团队成员是如何走到一起的,以及他们是如何构建出这个操作系统的。这个雄心勃勃的项目从脆弱的低谷开始,这家初创公司最终被谷歌收购,并在激烈的行业竞争中披荆斩棘,成为席卷全球的移动操作系统。本书讲述的是Android的故事,任何对这个行业或产品感兴趣的人都可以阅读它,包括软件技术开发者、手机用户、产品经理、市场人员和公司高层决策人员,等等。
推荐序一 这是一本另人激情燃烧的书。对于想了解Android操作系统的历史及其背后故事的读者来说,这是一本十分难得的好书。 作为曾经的方舟编译器和鸿蒙系统设计团队成员,深知从0到1做一个系统的复杂度和难度。做一个OS不难,但是想做出一个富有创新性的系统是非常困难的。 当时,我总想看看其他操作系统是如何做出来的,可惜没有找到合适的参考资料。没想到几年之后,我想看的书终于出现了。这本《安卓传奇》可以让我们跟随作者去了解Android系统是如何从无到有一步步地设计出来的。 Android是天时、地利和人和的产物。截至2022年,国内操作系统行业进入前所未有的发展期,“天时”“地利”都已经具备,但是“人和”方面还存在一些问题。因为具备丰富经验的操作系统架构师和工程师非常稀缺,在国内“人和”要素仍处于逐渐完善的过程中。我认为任何想做操作系统的公司负责人、架构师和工程师,都应该认真读一读这本书。因为本书讲述了Android团队在创业阶段,是如何做出每个商业决策和技术决策的,以及其他方面的内容。比如为什么选用Java?为什么要开发专属的Java虚拟机?为什么应用框架选择Activity组件模型…… 本书除了介绍“技术决策”的相关内容,还介绍了当时每个细分领域负责人的从业背景和教育背景。在阅读过程中,读者会发现很多人都是从几岁就开始学习编程的,也有不少人有辍学经历。而谷歌为了雇佣这些领域专家,在招聘政策上做了很多调整,真正做到了“不拘一格降人才”。这一点十分令人佩服,也值得国内很多公司反思。 读完本书,我想用一句话与大家共勉—能把操作系统做成功的人,唯有那些真正为了兴趣而做的人。 ——赵俊民 荣耀终端有限公司系统架构专家、编译器专家 推荐序二 《安卓传奇》的英文版原书名是Androids:The Team that Built the Android Operating System,其中副书名的中心词是“团队”。这本书的作者也的确在团队人物故事上投入了诸多笔墨,甚至还可以看到作者专门列出了书中出现的人物清单,而他们的工作涉及Android系统的方方面面。Android从创建到现在近二十年的时间,这个榜单可以说是早期创业英雄榜了。 如今我们会感慨Android的成功,但是不要忘记,任何伟大的事业,都是从一个小想法、一个小团队、一些小事情,慢慢启动并逐渐发展起来的。这本书介绍了许多在Android发展早期发挥关键作用的人以及他们的故事。阅读这些故事,眼前会很容易浮现出一幅波澜壮阔的画卷。时代的浪潮正在呼唤伟大的创新,而出身各异的有识之士,也在不断尝试用自己的方式,回应时代的号召—通过互联网,人才聚集,相互交流、相互影响、形成氛围,最终我们会看到,总有新想法、新产品、新业态,经过竞争角逐脱颖而出。 从创立至今,Android系统不断发展壮大,甚至成为一个新领域。从事Android方面的工作,也变成了很多人的职业发展方向。那要怎么学习,才能提升对这个领域知识的掌握度与理解力呢?我在《学习的学问》一书里,讨论了学习两种领域的有效方法。一个是学习关于这个领域的历史。这一点的核心在于回到过去,站在前人的角度,设身处地思考前人在做决策的时候面对的问题、采取的应对方式,以及获得的结果。其关键点在于,不要拿着现在的答案,去历史中“作弊”,而是真正地回到过去,忘记现在。另一个是学习关于人的知识。事业的发展、历史的推进,都离不开人在其中发挥作用。所以,关注核心人物的所思所想、观点主张、输出成果等,也是一个重要的学习方法。而在领域知识里,独木不成林,人与人之间存在关系,形成关联,找到了一个,就会找到一批,于是我们就可以从人的角度,描绘出关于领域知识的另一副画像。 而《安卓传奇》这本书正好从团队的角度来讨论Android早期创业历程,契合了历史与人的两大要素。一方面,这本书追溯了Android的起源,以及在初创阶段,团队所面临的技术、资金、模式等方面的问题。阅读这些内容,可以给我们一个创业视角,即换位思考,我们在那个场景下,会有什么样的应对思路?另一方面,我们会看到,来自不同背景、不同行业的人,最终会加入一个团队,然后有的留下,有的离开。从个体的角度看,到底是什么驱动了一个人的行为?从集体角度看,一项成功的事业,需要吸纳什么样的人才?怎样才能组建好团队让其成效最大化? 最后,假如你读完了这本书,以后看到装有Android系统的终端的时候,也许会想到,曾经有那么一群人,投入了自己的时间与智慧,解决了一个又一个的问题,最终为我们便捷又高效的幸福生活做出了贡献。 ——Scalers 《学习的学问》作者、公众号“持续力”主理人 推荐序三:回忆我所经历的Android创新 这本《安卓传奇》成功把我带回2007—2011年。2007年,iPhone和Android相继发布,当时的我还在Motorola北京研发中心做手机产品的研发。我们当时的产品基于Linux操作系统,有3.2寸的屏幕,还配备了摄像头。但是,当我在2007年听到iPhone和Android的消息时,便认定未来的移动世界属于iPhone和Android,于是便决定离开Motorola。并且给了自己两个可选方向:一个是加入iPhone阵营,另一个就是加入Android阵营。在看这本书的时候,发现作者Chet正好是2007年加入Android团队的。 当时Apple在北京的研发部门主要以测试和本地化为主,所以我在2008年选择了Android阵营,加入了一家基于Android做系统级开发的公司,据我所知,这是当时中国首家。我在这家公司的职责就是做与开发者关系相关的工作,负责运营开发者社区。所以当我看到《安卓传奇》的作者Chet也是做开发者关系布道师的时候,就倍感亲切。 2008年,当我开始接触Android系统时,当时系统代号还是0.9,还没有达到1.0的阶段。至于后来的Cupcake、Donut和Eclair这些以甜点命名的系统代号,都是后来的事情了。 Android的历史是一个持续创新和完善的历史。这也是Android的开发和Motorola等传统手机制造商流程与质量管理有明显差异的地方。 比如,世界上第一部Android商用手机HTC G1带有一个可以侧滑的键盘,同时有触摸屏,而早期的Android手机触摸感受相比同期的iPhone都有明显差距。这背后的原因是早期的Android系统以键盘为最主要的交互界面,这在书中也有记录,而且包含了更多的细节。 Android 0.9版本,甚至还没有中文的输入模块,所以当时我所在的公司为Android开发了独立的中文输入模块。这些代码后续被Android官方的输入法模块所取代。 在Android早期版本上做开发时(印象中,直到Donut版本的推出,Android系统才算基本完善),各手机和系统厂商都会遭遇兼容性的问题。因为没有API的标准且Android系统功能还不完善,所以各路Android开发者在尝试补全Android系统功能的时候,不可避免地会破坏Android的API。大家在尝试安装极为有限的若干Android App时发现了这个问题,这在Android手机诞生之后问题愈发严重,手机厂商和开发者都遭遇了不少困扰。 我的正式职责是负责开发者关系的运营,但在公司的第一项工作却是发现并解决这些兼容性问题。因为我们对系统级的代码修改太多,也修改了很多API。为了遍历所有API层面的差异,我甚至写了一个Python脚本。第一次去谷歌山景城(Moutain View)总部出差,也是为了解决我们定制的系统版本与Android标准版本的兼容性问题。后来Android团队为了解决兼容性问题,干脆推出了CTS(兼容性测试套件)。我拿到第一个版本的CTS时,也是一个实验性的版本。我们和谷歌的印度工程师持续沟通,不断解决碰到的问题,完善CTS本身。 谷歌团队为了维护标准版本的权威性,防止分裂,甚至在OHA(开发手机联盟)的条款更新中也做出规定。一开始是对API,后来还包括对硬件规格的要求。一些在硬件上,尤其是屏幕等关键硬件上追求差异性的厂商,在后续App的兼容性方面吃了亏。印象中,早期魅族有一款手机的屏幕分辨率并非Android系统标准支持,所以App运行的体验就要差一些。虽然Android后来在系统中增加了“自动拉伸”的能力,但部分App运行起来,还是有些怪。当然,现如今非常火的折叠屏手机的最大困扰还是在App生态方面的困难,很多App是标准手机版的拉伸,有些是Pad版本。 上面提到的App兼容性问题从Android诞生的第一天开始就存在,到现在依然没有很好的解决。这也是一个开放系统所要面对的多样性问题,这一点与iOS形成了鲜明的对比。 回到Android诞生之初,我们需要问两个关键问题:Android为何诞生?Android又为何成功?作者Chet做了自己的总结,有一点我很赞成,就是“时机”问题。2007年,iPhone的诞生开启了全新的智能手机时代,而希望进军这个领域的其他手机厂商却因缺乏足够的实力而无法自己研发一套能与iPhone系统(后来被命名为iOS)匹敌的手机操作系统,并运营全球的开发生态。这件事Motorola尝试过、Nokia尝试过、三星也尝试过,甚至先后有若干个手机系统联盟也尝试过,但都没有成功。而Android的诞生恰逢其时,逐渐成为全球手机厂商的“唯一选择”。 这个过程也充满了传奇,比如为了撬动开发者为尚未发布手机的Android系统开发App,谷歌给出了1000万美元的奖金,征集Android App。最早期的App都是一些toy app,而非真正的大制作或者生产力工具。在厂商合作方面,最早愿意与Android真正开展合作的是规模尚小的HTC,后来才有三星和Motorola的加入,对于Android每一个新版本的首发厂商,团队都刻意选择了不同的公司。此外新生的Android系统也引起了乔布斯的怒火,这一点在乔布斯的各种传记中都有体现。Android团队为了克服专利的问题,甚至推动母公司谷歌一举并购了手机巨头Motorola,而核心原因是为了获得Motorola在手机领域的专利(因此谷歌在不久之后又把Motorola出售给联想,而保留了专利资产),这在当时震动了整个科技界。 所以,在我看来,Android的诞生是各种因素综合的结果,是正确的时机、正确的团队、正确的决定和大手笔的投资(想想Motorola的并购案)相乘带来的结果,缺一不可。在这个过程中,Android团队发挥了绝对关键的作用。他们用快速迭代的版本,来解决创新过程中的软件质量与功能缺失问题。这种看似与传统研发流程相悖的实践,却实实在在改变了世界,值得所有人深思。 我们当年在做Android研发时,始终在问一个问题:谷歌为何耗费巨资做这样的移动操作系统,并且是用几乎“免费加开源”的方式与行业合作。当时听到一个说法,讲的是谷歌预见到移动时代的到来,并愿意加速这个时代的到来,因为他们深信,他们可以在每一次移动搜索中获益,而移动搜索的规模,将数倍于PC搜索。虽然他们可以从iPhone的搜索预置中获得分成,但他们还希望看到更多的移动设备能方便地访问移动互联网,这是他们全力推进iPhone的最大动力。 以上,就是我作为Android生态中的一名工程师和开发者关系布道师所能回忆起的最关键细节。而更多的Android开发的历史,还是要靠这本《安卓传奇》来揭示。在我印象中,这是第一本如此全面揭示Android开发秘史的书,而更难能可贵的是,这本书的作者不是一名记者,而是Android早期团队成员。所以,这是实实在在的历史亲历者,再也没有其他人更合适写这本书,除非是Andy Rubbin本尊(Android系统的创始人)。 最后我有一个期待,期待10年后,国内有开发者或工程师愿意用自己的文字记录自己团队的故事。2002年我刚加入Motorola时,曾经希望能用自己的代码影响百万人的生活。后来虽然没有实现这个愿望,却目睹了一个名叫Android的手机操作系统从一个简陋的系统到影响地球上数十亿人生活的过程,其间甚至间接带来若干科技巨头的沉浮。如今,一个新的时代“智能汽车时代”的壮丽画卷正呈现在我们面前,是该我们书写自己的故事的时候了。 ——张辉 公众号“辉哥奇谭”主理人 曾经在Motorola、百度做手机及自动驾驶开发者生态工作,现在理想汽车战略部工作 #2022年10月,写于理想L9车中# 推荐序四:由外而内的安卓传奇 从2003年Android团队开始创业到今天已经快20年了。Android也成了全世界最火的操作系统,全球有无数的设备运行着Android,其中包括数亿部手机和其他各种智能设备。 然而对普通消费者来说,比如中国的用户,有些人都不知道安卓其实就是Android,它的背后是一家叫作谷歌的公司。技术发烧友可能知道Android就是谷歌的产品,但是不一定知道Android是被收购来的。那些知道Android是收购来的人,可能也不了解将近20年的时间里,这个系统以及背后的团队经历了怎样的风风雨雨。 在2010—2013年,大家会默认谷歌做的产品就一定会成功。然而,后来谷歌放弃了无数在外界看来超级厉害甚至前景远大的项目,包括但不限于Google眼镜、Google Reader、Google Plus、Google Wave、iGoogle、Google Labs、Google Videos,等等。 所以,哪怕是今天看起来光芒万丈的YouTube、Chrome和Android,曾经也有过自己的艰难时刻。这些东西如果没有《安卓传奇》这本书的记载,我们也很难从外界了解其端倪。 对谷歌来说,内部孵化的很多项目和收购的项目,哪怕一开始很被看好,但是在很多时候,也不是就代表着它们会一直得到全力支持。现实情况是,先投入看看,看到底是否可行。 但是,Android团队克服了他们遇到的问题,抓住了转瞬即逝的移动互联网大爆发的机会,一跃成为全球最重要的操作系统产品之一。 对Android开发者来说,这本书可以让你了解很多Android开发过程中的内幕,了解今天的一些操作系统级别的取舍在当年是如何抉择的,从而帮助我们更深入理解Android,做好自己的本职工作。 对其他类型程序的开发者和数码发烧友,以及想创业或者正在创业的朋友们来说,Android经历的早创的艰难,一开始的定位跟现在完全不同,艰难的寻找投资和教育投资者的过程,被收购后的欣喜,以及团队成员进入大公司后的各种不适到逐渐适应的过程,一开始推出产品并不被市场认可到突然诞生爆款产品Droid而带来的增长的喜悦,等等,都能带来很多启发。 所以,这是一本值得你认真阅读的书。 ——Tinyfool 公众号“Tiny4Voice”主理人、资深创业者、移动开发专家 推荐序五:改变人类智能生活方式的传奇之路 2007年,当乔布斯拿出改变世界的iPhone时,诺基亚带着它的塞班S60 V3还在统治着这个行业。作为当时已经入行3年多的行业编辑,在拿到iPhone的那一刻,我和我的同行们意识到,这个行业的游戏规则已经改变。而当App Store上线之后,曾经坚不可摧的诺基亚帝国分崩离析。 把时间拨回12年前,也就是2010年,乔布斯带来了他的iPhone 4,给功能机、塞班和Windows Mobile的“棺材板”钉上了最后一颗钉子。当时我在香港蹲了一夜,买到了首发的iPhone 4,从此也进入了一个全新的Smart Phone世代。而在那一时刻我们也绝不会想到,离库比蒂诺仅20分钟车程,一个叫山景城的地方,还在折腾搜索引擎和广告业务的谷歌,已经暗流涌动。一款叫作Android的智能移动设备操作系统低调发布了它的2.2版本,那时离它1.0版本的发布已经过去了两年。后来的故事大家都知道了,从2.2版本开始,包括HTC、小米、OPPO、vivo、华为都参与到Android的世界中来,Android快速成长,目前其开源生态(AOSP)已经是全球最大的移动端操作系统了,不但覆盖了直板手机、Chrome大屏设备(电脑、平板和折叠屏),还广泛应用于物联网设备和车机设备。 回头看这十几年iOS/MAC和Android的“相爱相杀”,不难发现,苹果采用的是一种极致的垂直整合,这种整合与硬件高度相关,包括对处理器、硬件架构、外围功能芯片和操作系统的整合,这也使得iOS/MAC更像一个整体方案。当然这种整合方式在提高设备效能的同时,也降低了其开放性和延展性。而谷歌对Android生态始终持有比较开明的态度,自身除专注于Android大版本的更新,更主要的是还专注于提高GMS的体验度。在这个过程中,包括OPPO、vivo、三星、小米、华为、HTC在内的全球主要Android生态厂商,都提供了巨量的代码和改进意见。Android也不再是当年那个实验性的操作系统,而是广泛发展并成为聚集全球最强软硬件开发厂商的智能生态。 过去我们看过很多解读苹果和Linux革命家史的书,却很少看到解读Android发展的科技史著作,不得不说这是一个遗憾。所以,放在我面前的这本《安卓传奇》,是对科技史这一空白的有力补充。这使得我们不用在Android开发者网站和维基百科上阅读碎片化的知识。成体系地了解Android的发展史,有利于我们判断这一生态的发展前景。 《安卓传奇》的作者Chet Haase曾在2010年5月加入Android团队,负责界面动画和UI的开发。在他加入团队的时候,刚好是关键版本2.2发布之时,2.2版本是一个有着历史性意义的版本,而在当年年底发布的2.3版本,则彻底奠定了Android的行业地位。这一年对谷歌Android团队或中国的手机开发厂商来说,都是值得纪念的一年,MIUI V1发布,到了次年3月,承载着小米和雷军全部希望,也是MIUI史上最重要版本之一的V3(基于Android 2.3版本)发布,意味着小米的故事也正式开始。 在这本书里,读者会随着Chet勾画的时间轴,从2008年Android 1.0版本开始去了解这一伟大生态的发展历程,包括那个机器人Logo是怎么来的,Android一开始的定位和规划是什么样的,创始人Andy Rubin的故事,等等。读者会建立属于自己的知识地图,从而对Android发展史、关键人物、关键技术有一个清晰的认知。在这个过程中,我们可以结合由中外Android厂商在不同时间点发布的一些核心产品,去评价在不同历史阶段Android系统的优劣和得失。 《安卓传奇》并不是一本为谷歌和Android团队歌功颂德的作品,它以一个参与者、观察者的身份,客观记载了这一庞大生态系统发展的历史纪实,大面积填补了我们对Android、智能手机、iOT生态发展的缺失的记忆,同时引发我们对智能设备未来发展的思考。 阅读一本科技史传记,最大的作用应该是总结经验、思考未来,《安卓传奇》正是这样一部让我沉迷其中的作品。 ——李楠 工信部赛迪集团《中国计算机报》社前高级编辑、手机与通信内容主编 推荐序六 本书描述了一个令人惊讶的事实:看上去颇为普通,甚至在某种意义上说是一群失败的人,创造了Android这个优秀的手机操作系统。在Android早期团队中,很多人没有大学学历,按照谷歌的招聘标准,他们恐怕都没有资格进入谷歌工作。他们的职业履历也不亮眼,多数来自Be、Palm、WebTV或者Danger公司,而它们都不是成功的企业。本书描述的Android团队的真实面貌,与很多媒体擅于塑造的天才形象相去甚远,但正是这个团队,与乔布斯率领的苹果公司打得有来有往,并共同战胜了操作系统巨头—微软公司。 如果Android团队确有什么过人之处,也许是他们对工作保持着持续的热爱。他们中的大多数人从中小学阶段开始,就自发学习和研究编程,加入Android团队时,他们编写系统的工作经验已经超过十年。尤其考虑到当时的行业情况,在2000年左右,操作系统的商业竞争就已结束,微软的垄断地位完全确立。这意味着,他们当时从事操作系统开发,已经没有了商业前景。明知如此,其中绝大多数人也并未转行,而是继续投身其中,一直坚持到2007年之后手机操作系统的爆发。这些人对操作系统开发的热爱与坚持,非常令人敬佩。 大多数关于Android的书,都集中于产品技术、商业模式、经营策略,但IT产业能够致胜的真正根基,其实要归根于优秀的人才团队。本书通过生动记录Android团队的历史,刻画出了这个关键所在。 ——Luo Patrick 知乎十年新知答主 译 者 序 “他们从学会站立那一刻起便开始接受战斗的洗礼。他们被教导永不退缩,永不投降。等长到七岁,他们被投放到一个残酷的暴力世界。他们被放诸荒野,频频接受考验,只靠自己的智慧和意志对抗暴虐的大自然。他们在荒野的那段时间,要么成为勇士归来,要么尸骨无存……” 上面这段话描述的是斯巴达的婴儿在成为勇士之前的启蒙经历。早期的Android像极了斯巴达的婴儿。2005年,谷歌买下了刚成立两年左右的Android团队,但被巨头收购并不意味着就进入了护城河的界内。尽管谷歌承诺不会像对其他被抛弃的收购项目一样对待Android,但其用意也很明显:“谷歌在Android上的投入并不是因为想要全力支持它,而是想通过赞助的方式看看它是否可行。”刚加入谷歌的Android团队甚至都没有固定的办公室,只能在走廊办公,在会议室里搭帐篷……因为Android是秘密项目,在谷歌内部鲜有人谈及,甚至在头几年很多人都不知道它的存在。 Android就像是谷歌内部的一家初创公司,有着不同的团队文化和做事风格。Android在谷歌的日子如履薄冰,稍不小心就可能葬身大海。被收购的Android必须避免成为斯巴达的“弃婴”,从签下卖身契的那一刻起就开始接受战斗的洗礼。它被放诸荒野,只能靠自己的智慧和意志在当时竞争异常激烈的手机市场站稳脚跟,跟斯巴达的婴儿一样,要么成为勇士归来,要么尸骨无存! 2008年,Android 1.0发布,搭载这个系统的G1手机也紧随其后上市销售。然而G1的市场反响并没有如预期的那么热烈,尽管苹果公司有人担心G1会对iPhone造成威胁,以至于特地跑到旧金山的商店里买了一部带回苹果公司研究,然后得出结论:“G1产品本身并没有在库比蒂诺 引起太多恐慌”。真正让Android名声大噪的是与摩托罗拉合作推出的Droid,这款手机的成功销售开启了Android市场份额“曲棍球棒” 式的增长。 作者把Android的成功归结为“站在了巨人的肩膀上”。然而,这个“巨人”并不是谷歌。初始的Android团队里几乎没有谷歌的人,成员主要来自之前的几家公司。首先是于1990年成立的Be,主要产品是操作系统BeOS,后被Palm收购。其次是于1995年成立的WebTV,主要产品是网络电视,后被微软收购。最后是于1999年成立的Danger,主要产品是数据交换设备。来自这三家公司的核心技术人员几乎已经涵盖了开发一个手机操作系统所需核心组件的方方面面。得益于他们的集体经验,谷歌才能在很短的时间内向市场推出标志性的操作系统和手机。如果再迟一点,Android就会被挤出手机市场,成为一个历史的脚注。所以,如果要追溯Android的历史,不能只从谷歌收购Android开始,而应该向前追溯其他三家公司。这好比一棵树,你可以看到暴露在地表的树干和叶子,但扎在土里的根才是保证树木屹立不倒并汲取养分的关键。 然而,即便有了谷歌的资金和来自各方的人才,也不足以在短时间内开发出一款有竞争力的手机操作系统。被收购后,Android团队唯有保持莽性,才能在最短的时间内拿出最好的成果,证明自己存在的价值。Android团队的工作氛围与谷歌完全不同,他们总是过度工作,以至有人把这种工作节奏称为“Android团队的硬通货”。有趣的是,这种高强度的工作节奏与现今的“内卷”和加班“福祉”不同。他们完全是自发的,不是为了股票期权,也没有人要求他们这么做。在Android团队里,有人觉得自己不够聪明,希望通过努力来弥补受教育的不足,有好几回,只要人是醒着的,就一定在做事。有人经常凌晨才回到家,本想通过玩游戏来放松身心,却发现玩的仍然是监督软件项目的游戏。有人经常见不到家人,只好让妻子到公司一起共进晚餐。高强度的工作甚至让想加入Android团队的人闻风丧胆,但这种自发性具有很强的凝聚力,就像魔法一样推动着他们不断向前迭代。或许,在现今十分浮躁的年代,我们很难再找到这种纯粹的情怀。 促使Android取得成功的因素有很多,除了上面提到的这些,还有决策层的果断、团队合作、时机、竞争与合作,等等。作者花了4年时间采访Android团队成员,才得以把这些宝贵的故事保留下来。因为作者担心随着时间的推移和人员的流动,这些故事会逐渐被淡忘。 本书按照时间线从Android的诞生开始说起,一直到标志性的Android 1.0发布,再到开启Android市场份额爆发式增长的Droid手机上市。全书共分5个部分,第1部分讲述了Android被谷歌收购之前以及被收购之后组建初始团队的故事。可以说,Android的前身其实是一个相机操作系统。在那个年代,大众对手机的需求胜过相机产品,好在创始人及时调整方向做了手机,否则可能就没有现在的Android。 第2部分讲述了Android团队在谷歌构建Android操作系统和平台的故事。这一部分占全书最大篇幅,涉及手机操作系统组件的方方面面,也是与技术最为相关的部分。 第3部分讲述了团队中发生的趣事,包括团队文化、与谷歌的不同,以及团队的做事风格。 第4部分讲述了Android的发布过程,包括SDK的发布、操作系统的发布、系统的命名、硬件的发布,以及为Android市场份额增长做出巨大贡献的摩托罗拉Droid和三星系列手机的发布。 第5部分总结了Android取得成功的原因。 原版书的作者是谷歌的工程师,也是一名写作爱好者,还有着非常不错的幽默特质。他花了4年时间做采访,然后顺着时间线精心安排故事结构,为我们呈现了Android团队鲜为人知的第一手内幕故事,并在书中融入了他个人的幽默风格。能读到这些精彩的故事,我们要感谢作者呕心沥血的付出。 现在,就让我们开始这趟Android探索之旅吧。 ——译者徐良 2022年7月
背景介绍 1 第一部分 开端 1. Android……相机操作系统 11 2. 农场团队 13 Be 14 WebTV/微软 17 Danger 17 Nick Sears和移动数据 18 齐聚一堂 20 3. 发展壮大 23 Brian Swetland,Android的第一位工程师 23 Andy McFadden和演示 26 Ficus Kirkpatrick,Android的最后一名员工 27 4. 融资 29 演示时间 29 移动机遇 30 开放平台的机会 31 盈利 34 推销梦想 35 5. 收购 38 6. 在谷歌的日子 40 在谷歌招聘 41 Chris DiBona和他的招聘解决方案 42 Tom Moss和他在东京的招聘 44 第二部分 构建平台 7. 系统团队 49 Brian Swetland和内核 50 Ficus Kirkpatrick和驱动程序 51 Arve Hj?nnev?g和通信模块 52 Iliyan Malchev和蓝牙模块 54 Nick Pelly和蓝牙模块 55 San Mehat和SD卡机器人 58 G1之后:Sapphire和Droid 62 Rebecca Zavin和失宠的设备 63 尴尬的重启Bug 64 Mike Chan和B团队 67 安全毯 67 B团队 71 构建健壮的系统 71 8. Java 74 选择编程语言 74 运行时 78 Dan Bornstein和Dalvik运行时 80 Zygote 83 9. 核心库 85 Bob Lee和Java核心库 86 Jesse Wilson和糟糕的API 88 10. 基础设施 90 Joe Onorato和构建系统 91 Ed Heyl和Android的基础设施 92 测试、测试 93 精益的基础设施 96 11. 图形 97 Mathias Agopian和Android的图形 98 系统基础 99 PixelFlinger 100 SurfaceFlinger 102 硬件编配器 103 Mike Reed和Skia 104 12. 多媒体 107 Dave Sparks和铃声 107 Marco Nelissen和音频 108 AudioFlinger 109 遭人唾弃的代码 110 13. 框架 112 Dianne Hackborn和Android框架 113 Activity 116 资源 117 窗口管理器 118 软键盘 119 自下而上的Jeff Hamilton 120 Binder 122 数据库 123 联系人及其他应用 124 破坏王Jason Parks 125 框架工程 126 14. UI工具包 127 Mike Cleron重写UI工具包 128 Eric Fischer和TextView 131 Romain Guy和UI工具包的性能 134 Launcher和应用程序 137 屏幕密度 137 工具包的性能 138 15. 系统UI和Launcher 139 Launcher 139 通知 141 动态壁纸 143 Android的脸 144 16. 设计 146 Irina Blok和Android吉祥物 146 开绿灯 149 Jeff Yaksick和UI设计 150 Android公仔 151 17. Android浏览器 155 浏览器战争 155 Android需要一个浏览器 156 黄威和Android浏览器 157 Rich Miner组建团队 159 葛华、WebView和Android浏览器 160 Cary Clark和浏览器图形 161 18. 伦敦团队的使命 165 Dave Burke和伦敦的移动团队 166 Andrei Popescu和伦敦的浏览器团队 167 Nicolas Roard和前期工作 168 Android和Web应用 169 19. 应用程序 170 移动应用生态系统 170 Cédric Beust和Gmail 171 20. Android服务 176 Debajit Ghosh和日历 177 Michael Morrissey和服务团队 178 火警 181 Dan Egnor和OTA 182 陈钊琪和CheckIn服务 187 卓越的服务 188 21. 位置、位置、位置 189 Charles Mendis和Bounce 189 地图 193 导航 195 22. Android Market 197 23. 通信 200 Mike Fleming和电话功能 200 黄威和消息通信 204 SMS 206 24. 开发者工具 208 Xavier Ducrohet和SDK 209 David Turner和模拟器 211 Dirk Dougherty的文档:RTFM 214 25. 精益的代码 216 26. 开源 218 27. 管理上的那些事 224 Andy Rubin和Android的管理 224 Tracey Cole和Android的行政 225 Hiroshi Lockheimer与合作伙伴 225 Steve Horowitz和工程团队 229 世界移动通信大会 230 管理冲突 231 离开Android 231 Ryan PC Gibson和他的甜点 232 甜点时间 234 吴佩纯和项目管理 234 28. 商业交易 236 Tom Moss和商业交易 236 随遇而安 237 发布合作设备 238 29. 产品与平台之争 239 第三部分 Android团队 30. Android != 谷歌 245 Web与移动 246 31. 狂野的西部 248 Android与谷歌 249 32. 有趣的硬件 251 防干扰机枪 251 神秘的端口 252 网络开关 253 33. 有趣的机器人 254 34. 更努力,而不是更精明 256 35. 培根星期天 259 36. 来自巴塞罗那的明信片 261 第四部分 发布 37. 竞争 265 Android开始受关注 267 38. 在库比蒂诺那边 269 39. 发布SDK 272 2007年11月5日:开放手机联盟 273 11月7日至8日:行业接待 273 11月11日:SDK发布 274 命名这回事 275 Android开发者挑战赛 276 40. 1.0冲刺 279 兼容性的代价 280 性能 282 Bug、Bug、Bug 282 复活节彩蛋 282 应用程序 283 41. 1.0发布 284 9月23日:SDK发布 284 9月23日:T-Mobile G1发布 285 10月21日:开源 286 10月22日:T-Mobile G1上市 286 42. G1的反响 288 43. 都是甜点 290 1.0 R2:2008年11月 291 1.1 Petit Four:2009年2月 291 1.5 Cupcake:2009年4月 291 1.6 Donut:2009年9月 292 2.0 Eclair:2009年10月 293 44. 早期的设备 294 1.0之前:Sooner、Dream(HTC G1)等 295 Sapphire(HTC MAGIC) 295 摩托罗拉Droid 295 Passion和Nexus 296 Brian Jones和设备分发 297 45. Droid成功了 301 46. 三星及其他 306 47. 曲棍球棒 308 第五部分 为什么Android会成功 48. 团队 313 合适的经验 313 正确的态度 314 合适的规模 314 正确的领导 314 49. 决策、决策 315 功能:吸引用户的杀手锏 315 工具:形成应用生态系统 316 商业:形成设备生态系统 317 收购:根牢蒂固 318 50. 时机 319 竞争与合作 321 移动硬件 321 招聘 322 执行 322 51. 成功了?我们还在这里! 323 附 录 附录A 术语 327 附录B 相关内容 334 附录C 人物清单 337 附录D 致谢