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

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

AOSP 10 -12 ビルドの実行

AOSP 10-12 ビルドを実行する前に、Incredibuild 環境を準備するために実行する必要がある特定のアクションがあります。

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

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

      /opt/incredibuild/data/custom_profiles/android/9-11

    2. この「ib_profil.xml」ファイルを、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

AOSPのトラブルシューティング 10-12

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

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

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

注意:
  • ファイルには、「MB」と入力せず、メモリサイズの数字だけを入力してください。

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

Android OS 5 - 9 のビルド

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

> 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_process.xml」ファイルを、[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 倍までの値を入力することをお勧めします。