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