リリース ライフサイクルで説明されているように、Android は他のさまざまなオープンソース プロジェクトを利用しています。これらのプロジェクトの大半は WORKING_DIRECTORYexternal/
内にあります。これらのプロジェクトに変更を加える手順は次のとおりです。
WORKING_DIRECTORY/external/upstream-project
に移動します。METADATA
ファイルを表示します。このファイルには通常、プロジェクトへのコードの提供に関する情報の URL があります。- アップストリーム プロジェクトに変更を加えたら、その変更を含む新しいアップストリーム リリースを Android の管理者に伝えます。
以下に、具体的なアップストリーム プロジェクトへのコードの提供に関する追加情報を紹介します。
Bionic
Bionic のコードの大半は BSD に由来しているため、Bionic にとって新しいコードに対する変更でない限り、アップストリームの修正を行った後、適切な BSD から新しいファイル全体を取得します。
Android カーネル
すべての変更をアップストリームで行います。一般的なガイダンスについては、Android 共通カーネルにパッチを送信する方法、および GKI のカーネルコードの開発をご覧ください。
ICU
ICU プロジェクトの変更はすべて、ICU-TC の external/icu
(icu4c/
、icu4j/
フォルダ)で行います。詳しくは、ICU のバグと機能リクエストの送信についての説明をご覧ください。
すべてのアップストリーム Jira リクエストに「android」というラベルを追加します。
CLDR
ICU の言語データのほとんどは、Unicode CLDR プロジェクトから提供されています。CLDR へのコードの提供に沿ってすべてのリクエストをアップストリームで送信し、「android」というラベルを追加します。
LLVM / Clang / Compiler-rt
LLVM 関連のプロジェクトの変更はすべてアップストリームで行います。Google がアップストリームのソースからツールチェーンをどのように構築しているかについて詳しくは、https://android.googlesource.com/toolchain/llvm_android/+/main/README.md をご覧ください。
mksh
MirBSD Korn シェル プロジェクト(external/mksh
)の変更はすべて、mirbsd.org
ドメインの miros-mksh
にメールを送信するか(登録は不要)、Launchpad で行います。