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