AOSP 代码会先经过不同的分支,然后再合并到正式版中。图 1 显示了此发布生命周期的各个步骤。
图 1. AOSP 版本生命周期。
以下是生命周期中的步骤:
上游项目代码流入名为
main
的外部开发分支。上游项目是指 AOSP 从中提取代码的开源项目。除了 Linux 内核和 WebKit 等项目以外,Google 还会将一些半自主性 Android 项目(如 ART、Android SDK 工具和 Bionic)迁移到 AOSP。您可以直接为某些上游项目做出贡献。如需了解详情,请参阅为上游项目贡献代码。
外部开发分支是您为设备下载和修改的内容。您可以通过此分支为下一版本的 AOSP 贡献代码。
上传并获准纳入主分支的更改会自动面向使用主分支的所有人提供。
已获批准的主更改会自动流向 Google 的内部开发分支。此分支仅在 Google 内部可用,Google 会在此分支中为下一个版本添加新功能。
大约每季度,我们都会根据内部开发分支创建一个内部发布分支。该分支代表 AOSP 的下一个版本的所有代码。Google 可能会将一些更改精选到此版本分支中,以修复 bug 并提升性能。
在某个时间点,内部版本分支中的代码会推送到上游,以与外部开发分支 (
main
) 合并,并用于在公共 AOSP 主机上创建版本分支的只读副本。