AOSP コードは、正式なリリースに統合される前に、さまざまなブランチを移動します。図 1 は、このリリース ライフサイクルのさまざまなステップを示しています。
図 1. AOSP リリース ライフサイクル。
このライフサイクルのステップは次のとおりです。
アップストリーム プロジェクト コードは、
main
という外部開発ブランチに流れ込みます。アップストリーム プロジェクトは、AOSP がコードを取り込むオープンソース プロジェクトです。Linux カーネルや WebKit などのプロジェクトに加え、ART、Android SDK ツール、Bionic などの半自律型 Android プロジェクトの一部が AOSP に移行されています。一部のアップストリーム プロジェクトには直接コントリビューションできます。詳細については、アップストリーム プロジェクトへのコードの提供をご覧ください。
外部開発ブランチは、ユーザーがデバイス用にダウンロードして変更したブランチです。このブランチは、AOSP の次のバージョンにコードをコントリビュートする場所です。
アップロードされ、main へのインクルードが承認された変更は、main ブランチを使用するすべてのユーザーが自動的に利用可能になります。
メインへの承認済みの変更は、Google の社内開発ブランチに自動的に転送されます。このブランチには Google 内でのみアクセスでき、Google が次のリリースの新機能を追加する場所です。
内部開発ブランチから、約四半期ごとに内部リリース ブランチが作成されます。このブランチは、AOSP の次回リリース用のすべてのコードを表します。Google は、バグの修正とパフォーマンスの改善に対応するために、このリリース ブランチに変更をチェリーピックする場合があります。
ある時点で、内部リリース ブランチのコードがアップストリームに push され、外部開発ブランチ(
main
)と再び統合されます。このコードは、一般公開 AOSP ホストにリリース ブランチの読み取り専用コピーを作成するために使用されます。