Articles

ビルド環境の確立

このセクションでは、Androidソースファイルをビルドするためにローカル作業環 Windowsでのビルドは現在サポートされていません。

コードレビューおよびコード更新プロセス全体の概要については、”パッチの有効期間”を参照してください。

ブランチの選択

ビルド環境のいくつかの要件は、コンパイルする予定のソースコードのバージョンによって決まります。 利用可能なブランチの完全なリストについては、ビルド番号を参照してください。 また、最新のソースコード(masterと呼ばれる)をダウンロードしてビルドすることもできます。

ブランチを選択した後、以下の適切な手順に従ってビルド環境を設定します。

Linux buildenvironmentのセットアップ

これらの手順は、masterを含むすべてのブランチに適用されます。Androidビルドは、Ubuntu LTS(14.04)とDebianテストで社内で定期的にテストされています。 他のほとんどのディストリビューションでは、必要なビルドツールが利用可能である必要があります。

ジンジャーブレッドのために(2.3。x)およびそれ以降のバージョン、masterブランチを含む、64ビット環境が必要です。 古いバージョンは32ビットシステムでコンパイルできます。必要なパッケージのインストール(Ubuntu18.04)

64ビットバージョンのUbuntuが必要です。必要なパッケージのインストール(Ubuntu14.04)

64ビットバージョンのUbuntuが必要です(14.04を推奨)。p>

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

必要なパッケージのインストール(Ubuntu12。04)

古いバージョンのAndroidをビルドするには、Ubuntu12.04を使用することができます。 バージョン12.04はmasterまたは最近のリリースではサポートされていません。

必要なパッケージのインストール(Ubuntu10.04-11.10)

Ubuntu10.04-11.10でのビルドはサポートされなくなりましたが、AOSPの古いリリースをビルドするのに役立ちます。P>Ubuntu10.10の場合:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Ubuntu11.10の場合:

sudo apt-get install libx11-dev:i386

USBアクセスの設定

コミュニティが維持するデフォルトのセットをインストールしますudevすべてのAndroidデバ

個別のoutputdirectoryを使用する

デフォルトでは、各ビルドの出力は、一致するソースツリーのout/サブディレクトリに格納されます。

複数のストレージデバイスを持つ一部のマシンでは、ソースファイルと出力を別々のボリュームに格納すると、ビルドが高速になります。 追加のパフォーマンスのために、出力は、ファイルシステムが破損している場合、すべてのファイルを再生成することができるので、クラッシュロバストネスの代わりに速度のために最適化されたファイルシステムに保存することができます。

これを設定するには、出力ディレクトリが格納される場所を指すようにOUT_DIR_COMMON_BASE変数をエクスポートします。

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

個別のソースツリーの出力ディレクトリは、ソースツリーを保持するディレクトリにちなんで名前が付けられます。 たとえば、ソースツリー/source/master1/source/master2OUT_DIR_COMMON_BASE/output/output/master1/source/master2/output/master2

ソースツリーが出力ディレクトリを共有し、予測できない結果になるため、同じ名前のディレクトリに複数のソースツリーを格納することは避けてくださ これは、masterブランチを含むJelly Bean(4.1)以降でのみサポートされています。

macOSビルド環境の設定

デフォルトのインストールでは、macOSは大文字と小文字を区別しませんが、ファイルシステム上で実行されます。 このタイプのファイルシステムはGitではサポートされておらず、一部のGitコマンド(git statusなど)が異常に動作します。 このため、大文字と小文字を区別するファイルシステムでは、常にAOSPソースファイルを使用することをお勧めします。 これは、以下で説明するディスクイメージを使用してかなり簡単に行うことができます。適切なファイルシステムが利用可能な場合、最新のmacOS環境でmasterブランチを構築するのは簡単です。 以前のブランチでは、いくつかの追加のツールとSdkが必要です。

大文字と小文字を区別するdiskimageの作成

ディスクイメージを使用して、既存のmacOS環境内で大文字と小文字を区別するファイルシステムを作 イメージを作成するには、Disk Utilityを起動し、New Imageを選択します。 250GBのサイズは、ビルドを完了するための最小値であり、より多くのスペースは、将来の成長のために最適です。 疎な画像を使用すると、スペースが節約され、必要に応じて成長できます。 ボリューム形式としてジャーナル処理された大文字と小文字を区別するを選択します。

次のコマンドを使用してシェルからファイルシステムを作成することもできます。

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 250g ~/android.dmg.sparseimage

これにより、.dmg.sparseimageファイルが作成されます。

後で大きなボリュームが必要な場合は、次のコマンドでスパースイメージのサイズを変更できます。

hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage

android.dmg.sparseimage~/.bash_profile:

  • 実行時にイメージをマウントするにはmountAndroid
    # mount the android file imagemountAndroid() { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }
  • 実行時にマウントを解除するにはumountAndroid
    # unmount the android file imageumountAndroid() { hdiutil detach /Volumes/android; }

実行後にイメージをマウントするにはmountAndroid

# mount the android file imagemountAndroid() { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }

androidボリュームをマウントした場合、そこですべての作業を行います。 外付けドライブと同じように取り出し(アンマウント)することができます。Xcodeおよびその他のパッケージのインストール

  1. Xcodeコマンドラインツールをインストールします。
    xcode-select --install

    古いバージョンのmacOS(10.8以下)の場合は、Apple developer siteからXcodeをインストールする必要があります。 Apple開発者として登録されていない場合は、ダウンロードするApple IDを作成する必要があります。

  2. パッケージ管理のためにMacPortsまたはHomebrewのいずれかをインストールします。
  3. 関連するディレクトリがあなたのパス内にあることを確認してください~/.bash_profileファイル:
    1. MacPorts-/opt/local/bin/usr/bin
      export PATH=/opt/local/bin:$PATH
    2. 自作-/usr/local/bin
      export PATH=/usr/local/bin:$PATH
  4. macportsのために、問題:
    POSIXLY_CORRECT=1 sudo port install git gnupg
  5. 自作のために、問題:
    POSIXLY_CORRECT=1 sudo port install git gnupg
  6. :
    brew install git gnupg2

ファイル記述子の制限の設定

macOSでは、同時に開いているファイル記述子の数のデフォルトの制限が低すぎて、高度に並列 キャップを増やすには、次の行を~/.bash_profileに追加します。

# set the number of open files to be 1024ulimit -S -n 1024

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です