Android ソースの main
ブランチをダウンロードしてビルドする前に、お使いのハードウェアが要件を満たしており、必要なソフトウェアが適切にインストールされていることを確認してください。以下の用語についても知っておく必要があります。
- Git
- Git は、無料で利用できるオープンソースの分散型バージョン管理システムです。Android では、ブランチ作成、コミット、差分の取得、編集などのローカル操作に Git を使用します。Git について詳しくは、Git のドキュメントをご覧ください。
- Repo
- Repo は、Git の Python ラッパーで、複数の Git リポジトリにまたがる複雑な処理を簡略化するために使用します。ただし、あくまで複雑な Git 処理をより簡単に実現するためのもので、Git のすべてのバージョン管理処理を代替できるわけではありません。Repo はマニフェスト ファイルを使用して、Git プロジェクトを Android スーパープロジェクトに集約します。
- マニフェスト ファイル
- マニフェスト ファイルとは、Android ソースのさまざまな Git プロジェクトを AOSP ソースツリー内のどこに置くかを指定する XML ファイルです。
ハードウェア要件を確認する
開発ワークステーションは、以下のハードウェア要件を満たす必要があります。
64 ビット x86 システム。
コードのチェックアウトとビルド用に 400 GB 以上の空きディスク容量が必要です(チェックアウト用 250 GB + ビルド用 150 GB)。
64 GB 以上の RAM。Google での Android のビルドには、64 GB の RAM を搭載した 72 コアマシンを使用しています。このハードウェア構成で、Android のフルビルドに 40 分ほどかかります。増分ビルドであれば数分で完了します。一方、64 GB の RAM を搭載した 6 コアマシンではフルビルドに 6 時間ほどかかります。
オペレーティング システムの要件を確認する
開発ワークステーションは、GNU C ライブラリ(glibc)2.17 以降を実装する 64 ビットの Linux ディストリビューションを搭載している必要があります。
必要なパッケージをインストールする
Android 11 以降をビルドするには、Ubuntu 18.04 以降を使用する必要があります。Ubuntu 18.04 以降に必要なパッケージをインストールするには、次のコマンドを実行します。
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
このコマンドにより、パッケージがインストールされるとともに、AOSP ソースのダウンロードに使用する Git がインストールされます。
必要なソフトウェアをインストールする
AOSP を使用するには、その前に OpenJDK、Make、Python 3、および Repo をインストールする必要があります。Android の AOSP main ブランチには、OpenJDK、Make、および Python 3 のビルド済みバージョンが用意されているため、追加のインストールは必要ありません。次のセクションでは、Repo をインストールする手順について説明します。
Repo をインストールする
Repo をインストールする手順は次のとおりです。
次のコマンドを実行して、現在のパッケージ情報をダウンロードします。
sudo apt-get update
次のコマンドを実行して、Repo ランチャーをインストールします。
sudo apt-get install repo
Repo ランチャーには、チェックアウトを初期化してフル Repo ツールをダウンロードするための Python スクリプトが用意されています。
正常に完了したらステップ 4 に進みます。
(省略可)Repo を手動でインストールするには、以下の一連のコマンドを使用します。
export REPO=$(mktemp /tmp/repo.XXXXXXXXX) curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65 curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
最初の 3 つのコマンドにより一時ファイルがセットアップされ、そのファイルに Repo がダウンロードされます。さらに、指定した鍵が必要な鍵と一致するかどうかが確認されます。これらのコマンドが正常に完了したら、最後のコマンドを実行して Repo ランチャーをインストールします。
次のコマンドを実行して、Repo ランチャーのバージョンを確認します。
repo version
次に、バージョンが 2.4 以降になっていることを示す出力の例を示します。
repo launcher version 2.45
別の出力ディレクトリを設定する
デフォルトでは、各ビルドの出力は、合致するソースツリーの out/
サブディレクトリに格納されます。このディレクトリは、OUT_DIR
環境変数をエクスポートすることでオーバーライドできます。たとえば、出力を別のドライブに保存したい場合は、次のように OUT_DIR
でそのドライブを指定できます。
export OUT_DIR=my_other_drive
次のステップ
- ソースコードをダウンロードするには、引き続き Android ソースをダウンロードしてください。
- Git について詳しくは、Git のドキュメントをご覧ください。
- Repo の詳細については、Repo の README をご覧ください。
- すべての Repo コマンドの一覧については、Repo コマンド リファレンスをご覧ください。