翻译:Ross.Zeng 校对:
开发计划及工具¶
Android 开发有两套独立的工具:应用开发工具和平台开发工具。如果想搭建应用开发环境,可以参阅《Learning Android》或谷歌的在线文档。如果想从事平台开发——正如我们这里要做的——所需工具则有所不同,在本书后续章节会逐一介绍。
最基本的前提是:你需要一台基于 Linux 的工作站来编译 AOSP。事实上,在本书写作时,谷歌唯一官方支持的编译环境是 64 位 Ubuntu 10.04。这并不意味着其他 Ubuntu 版本或 32 位系统上无法编译 AOSP——这只是反映了谷歌自家 Android 编译服务器的构建配置。在不改变你现有操作系统的情况下,一个简便的方法是创建 Ubuntu 虚拟机。作者通常使用 VirtualBox,因为它可以方便地访问主机的串口。
关于 32 位系统:虽然某些 Android 版本并未官方支持 32 位编译,但往往会有社区补丁使这类编译成为可能,Gingerbread 尤其如此。因此,即便官方代码树不支持 32 位构建,你仍可能找到其他支持此功能的代码树或邮件列表帖子。不过,随着每个新版 Android 的发布,构建所需的机器配置要求越来越高,大多数最终都会转向 64 位系统。因此,对 32 位系统构建支持的动力也在每代版本中逐渐减弱。
无论你选择何种配置,请记住:AOSP 在构建前就有数 GB 大小,最终体积更是大得多。例如 Gingerbread 未编译时约 3GB,编译完成后膨胀至约 10GB;而 4.2/Jelly Bean 未编译已达 6GB,编译后更高达约 24GB。
以上未编译大小均不含 .git 和 .repo 目录。包含这些目录时,2.3.7/Gingerbread 实际占用 5.5GB,4.2/Jelly Bean 则为 18GB。
如果再考虑你需要同时维护多个版本(仅出于测试目的也很常见),你很快就会意识到——认真的 AOSP 工作需要数十 GB 甚至上百 GB 的空间。另外,在本书撰写期间(2011–2013 年),在当时最高端机器上构建最新版 AOSP 所需时间始终在 30 分钟到 1 小时之间;即便是很小的修改,也可能需要 5 分钟才能完成构建或重新生成镜像。因此,开发基于 Android 的嵌入式系统时,务必要确保有一台性能足够强劲的机器。第四章我们将更详细地讨论 AOSP 编译及其硬件要求。