リリースのライフサイクル

AOSP コードは、正式なリリースに統合される前に、さまざまなブランチを移動します。図 1 は、このリリース ライフサイクルのさまざまなステップを示しています。

AOSP リリース ライフサイクル。

図 1. AOSP リリース ライフサイクル。

このライフサイクルのステップは次のとおりです。

  1. アップストリーム プロジェクト コードは、main という外部開発ブランチに流れ込みます。

    アップストリーム プロジェクトは、AOSP がコードを取り込むオープンソース プロジェクトです。Linux カーネルや WebKit などのプロジェクトに加え、ART、Android SDK ツール、Bionic などの半自律型 Android プロジェクトの一部が AOSP に移行されています。一部のアップストリーム プロジェクトには直接コントリビューションできます。詳細については、アップストリーム プロジェクトへのコードの提供をご覧ください。

    外部開発ブランチは、ユーザーがデバイス用にダウンロードして変更したブランチです。このブランチは、AOSP の次のバージョンにコードをコントリビュートする場所です。

  2. アップロードされ、main へのインクルードが承認された変更は、main ブランチを使用するすべてのユーザーが自動的に利用可能になります。

    メインへの承認済みの変更は、Google の社内開発ブランチに自動的に転送されます。このブランチには Google 内でのみアクセスでき、Google が次のリリースの新機能を追加する場所です。

  3. 内部開発ブランチから、約四半期ごとに内部リリース ブランチが作成されます。このブランチは、AOSP の次回リリース用のすべてのコードを表します。Google は、バグの修正とパフォーマンスの改善に対応するために、このリリース ブランチに変更をチェリーピックする場合があります。

  4. ある時点で、内部リリース ブランチのコードがアップストリームに push され、外部開発ブランチ(main)と再び統合されます。このコードは、一般公開 AOSP ホストにリリース ブランチの読み取り専用コピーを作成するために使用されます。