Android OS ビルド (AOSP) の高速化

Incredibuild Linux は AOSP (Android オープン ソースプロジェクト) に各バージョン用の ib_profile.xml ファイルを用意しています (OS バージョン 5 を除く)。AOSP のビルドを行う前にご利用の AOSP バージョン用の ib_profile.xml ファイルを探して、プロジェクト ディレクトリにコピーしてから Make を使ってビルドを実行してください。

Android OS 10 / 11 のビルド

Android OS 10 と 11 ではビルド実行前に Incredibuild 環境の準備が必要です。

> ビルド環境を準備する

  1. 定義済みの ib_profile.xml ファイルを検索・コピーします。

    1. ib_profil.xml ファイルを探す

      /opt/incredibuild/data/custom_profiles/android/9-11
    2. 見つけたファイルを ib_console を実行するプロジェクト ディレクトリにコピーする

      ~/Android/Project_Directory/ib_profile.xml
  2. 一切手を加えていない (バニラ) Android OS 11 のシェルを使用している場合は、特定の環境変数を初期化するためにバッチ ファイルを作成します。そうでない場合は、以下のコマンドで自分のシェルに適したバッチ ファイルを作成します (以下の例では「m droid」という名前のファイルを作成)。

    #!/bin/bash
    source build/envsetup.sh
    lunch aosp_arm-eng
    m droid

これで準備完了です。次のコマンドで Incredibuild Linux を使った AOSP のビルドを実行できます。

ib_console ./m_droid -j <Number_of_Processes_to_Run_in_Parallel>

コマンドの例:

ib_console ./m_droid -j 200

トラブルシューティング

問題が発生した場合は、実行中のビルドで使用される共有メモリのサイズが構成ファイルで設定されているかどうかを確認してください。この設定は、Android 10 以降でサンドボックスの実行に必要となることがあります。Android 10 と 11 はほかのバージョンと違って共有メモリの使用が制限されているため、メモリのサイズを明示的に設定します。

  1. 「/opt/incredibuild/settings/initiatorShmMaxSize.config」に移動して、ファイルを開きます。ファイルがない場合は作成します。

  2. ファイルに「300」(Android 10 以降のビルドに割り当て可能な最大のメモリ サイズ (MB)) という数字が含まれていることを確認します。

Note:
  • メモリ サイズの単位は MB ですが、数字のみを記入してください。

  • 一般的な共有メモリのサイズは 200 MB ~ 1 GB ですが、ここでは「300」に設定します。

Android OS 5 - 9 のビルド

注意: Android バージョン 5 はデフォルトの ib_profile.xml ファイルで実行可能です。

> Android 5 - 9 の OS ビルドを実行する

  1. Android のバージョンに合った定義済みの ib_profile.xml ファイルを検索・コピーします (ビルドを実行する前にバージョン 5 を除き必須)。
    1. ビルドする Android バージョンに合った ib_profile.xml ファイルを探す

      /opt/incredibuild/data/custom_profiles/android/<android_version_no.>

    2. 見つけたファイルを ib_console を実行するプロジェクト ディレクトリにコピーする

      ~/Android/Project_Directory/ib_profile.xml

  2. Android の OS ビルドを実行します。

    • Android 5、6、7、9 の場合:

      ib_console <Your_Build_Tool_Command> -<Multiprocessing_Command> <Number_of_Processes_to_Run_in_Parallel>

      Make では次のようなコマンドを使用します。

      ib_console make -j XX
    • Android 8 の場合:

      ib_console <Your_Build_Tool_Command> ANDROID_COMPILE_WITH_JACK:=false -<Multiprocessing_Command> <Number_of_Processes_to_Run_in_Parallel>

      Make では次のようなコマンドを使用します。

      ib_console make ANDROID_COMPILE_WITH_JACK:=false -j XX

      コマンドの詳細: -j - Make が並列実行するプロセスの最大数。-j パラメーターには Incredibuild 環境の全コア数からその 2 倍の数までの値を入力します。