AOSP 開発用セットアップ(9.0 以降)

Android ソースの main ブランチをダウンロードしてビルドする前に、お使いのハードウェアが要件を満たしており、必要なソフトウェアが適切にインストールされていることを確認してください。以下の用語についても知っておく必要があります。

Git
Git は、無料で利用できるオープンソースの分散型バージョン管理システムです。Android では、ブランチ作成、コミット、差分の取得、編集などのローカル操作に Git を使用します。Git について詳しくは、Git のドキュメントをご覧ください。
Repo
Repo は、Git の Python ラッパーで、複数の Git リポジトリにまたがる複雑な処理を簡略化するために使用します。ただし、あくまで複雑な Git 処理をより簡単に実現するためのもので、Git のすべてのバージョン管理処理を代替できるわけではありません。Repo はマニフェスト ファイルを使用して、Git プロジェクトを Android スーパープロジェクトに集約します。
マニフェスト ファイル
マニフェスト ファイルとは、Android ソースのさまざまな Git プロジェクトを AOSP ソースツリー内のどこに置くかを指定する XML ファイルです。

ハードウェア要件を確認する

開発ワークステーションは、以下のハードウェア要件を満たす必要があります。

  • 64 ビット システム。

  • コードのチェックアウトとビルド用に 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 libncurses5 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 をインストールする手順は次のとおりです。

  1. 次のコマンドを実行して、現在のパッケージ情報をダウンロードします。

    sudo apt-get update
    
  2. 次のコマンドを実行して、Repo ランチャーをインストールします。

    sudo apt-get install repo
    

    Repo ランチャーには、チェックアウトを初期化してフル Repo ツールをダウンロードするための Python スクリプトが用意されています。

    正常に完了したらステップ 4 に進みます。

  3. (省略可)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 ランチャーをインストールします。

  4. 次のコマンドを実行して、Repo ランチャーのバージョンを確認します。

    repo version
    

    次に、バージョンが 2.5 以降になっていることを示す出力の例を示します。

    repo launcher version 2.40

別の出力ディレクトリを設定する

デフォルトでは、各ビルドの出力は、合致するソースツリーの out/ サブディレクトリに格納されます。このディレクトリは、OUT_DIR 環境変数をエクスポートすることでオーバーライドできます。たとえば、出力を別のドライブに保存したい場合は、次のように OUT_DIR でそのドライブを指定できます。

export OUT_DIR=my_other_drive

次のステップ