AOSP 開発用セットアップ(2.3~8.0)

このページでは、Android 8.0 以前のバージョンで開発するためのセットアップ方法について説明します。Android 9.0 以降のビルド方法については、AOSP 開発用セットアップをご覧ください。

AOSP 開発用セットアップ(5.0~8.0)

Android のバージョンが 5.0~8.0 の場合は、付属の Dockerfile を使用することを検討してください。必要なすべてのパッケージを簡単にインストールできます。

オペレーティング システム

Android は通常、GNU Linux でビルドされます。また、Mac OS X など、サポート対象外のシステム上でも、仮想マシン内であればビルドできます。

Google は、GNU Linux 上でビルドすることをおすすめしています。Android ビルドシステムは通常、ビルドマシン上で ART を実行して、システム DEX ファイルをプリコンパイルします。ART を実行できるのは Linux 上に限られるため、Linux 以外のオペレーティング システムを使用した場合、ビルドシステムはこのプリコンパイル手順をスキップします。その結果、Android ビルドのパフォーマンスが低下します。

GNU Linux

  • Android 6.0 - Android 8.0: Ubuntu 14.04(Trusty)
  • Android 5.x: Ubuntu 12.0

Mac OS X(Intel / x86)

  • Android 6.0 - AOSP 8.0: Mac OS X v10.10(Yosemite)以降、Xcode 4.5.2、コマンドライン ツール
  • Android 5.x: Mac OS X v10.8(Mountain Lion)、Xcode 4.5.2、コマンドライン ツール

JDK

AOSP 開発用セットアップ(2.3~4.4)

このセクションでは、Android 2.3~4.4 までのセットアップ方法を説明します。

オペレーティング システム

Android は通常、GNU Linux でビルドされます。また、Windows など、サポート対象外のシステム上でも、仮想マシン内であればビルドできます。

Google は、GNU Linux 上でビルドすることをおすすめしています。Android ビルドシステムは通常、ビルドマシン上で ART を実行して、システム DEX ファイルをプリコンパイルします。ART を実行できるのは Linux 上に限られるため、Linux 以外のオペレーティング システムを使用した場合、ビルドシステムはこのプリコンパイル手順をスキップします。その結果、Android ビルドのパフォーマンスが低下します。

GNU Linux

  • Android 2.3.x - Android 4.4: Ubuntu 12.04 (Precise)

Mac OS X(Intel / x86)

  • Android 4.1.x - Android 4.4.x: Mac OS X v10.6(Snow Leopard)または Mac OS X v10.7(Lion)、Xcode 4.2(Apple Developer Tools)
  • Android 2.3 - Android 4.0.x: Mac OS X v10.5(Leopard)または Mac OS X v10.6(Snow Leopard)、Mac OS X v10.5 SDK

GNU make

Android 4.1.x から 4.4 の場合は、GNU make(gmake)3.82 を使用してください。 Android 2.3 から 4.0.x の場合は、ビルドエラーを回避するため、gmake 3.82 よりも古いバージョンに戻してください。

Xcode と他のパッケージ

Mac OS X v10.8 以前の場合は、Apple デベロッパー サイトから Xcode をインストールします。Apple デベロッパーとして登録していない場合、ダウンロードするには、Apple ID を作成する必要があります。

Mac OS X v10.4 を使用している場合は、以下のコマンドで Bison もインストールします。

POSIXLY_CORRECT=1 sudo port install bison

MacPorts の場合は、以下のコマンドを発行します。

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Homebrew の場合は、以下のコマンドを発行します。

brew install gmake libsdl git gnupg2

gmake 3.82 よりも古いバージョンに戻す

Android 4.0.x 以前のバージョンの場合、Android をビルドできないバグが gmake 3.82 にあります。以下の手順に沿って、MacPorts を使用してバージョン 3.81 をインストールできます。

  1. /opt/local/etc/macports/sources.conf を編集して、rsync 行の上に file:///Users/Shared/dports を追加します

  2. dports ディレクトリを作成します。

    mkdir /Users/Shared/dports
    
  3. 新しい dports ディレクトリ内で、以下のコマンドを実行します。

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. 新しいローカル リポジトリ用のポート インデックスを作成します。

    portindex /Users/Shared/dports
    
  5. 古いバージョンの gmake をインストールします。

    sudo port install gmake @3.81
    

JDK

Linux 版 JDK

Android オープンソース プロジェクト(AOSP)には、prebuilts/jdk/ 内に OpenJDK のビルド済みバージョンが用意されているため、追加のインストールは必要ありません。

以前のバージョンの Android では、JDK を個別にインストールする必要があります。Ubuntu では、OpenJDK を使用します。

Ubuntu 15.04 以降の場合

以下のコマンドを実行します。

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Ubuntu LTS 14.04 の場合

Ubuntu 14.04 向けにサポートされている OpenJDK 8 パッケージはありません。Ubuntu 15.04 の場合、Ubuntu 15.04 OpenJDK 8 パッケージが問題なく使用されています。これ以降のバージョンのパッケージ(15.10、16.04 用のパッケージなど)は、以下の手順を使用しても 14.04 では機能しません。

  1. old-releases.ubuntu.com から以下の 64 ビット アーキテクチャ用 .deb パッケージをダウンロードします。

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. 必要に応じて、ダウンロードしたファイルのチェックサムを手順 1 の各パッケージの SHA256 文字列と照合します。たとえば、sha256sum ツールの場合は次のコマンドを使用します。

    sha256sum {downloaded.deb file}
    
  3. 以下のコマンドで、パッケージをインストールします。

    sudo apt-get update
    
  4. 以下のコマンドで、ダウンロードした各 .deb ファイルに対して dpkg を実行します。依存関係が欠落しているため、エラーが発生する場合があります。

    sudo dpkg -i {downloaded.deb file}
    
  5. 欠落している依存関係を解決するには、以下のコマンドを使用します。

    sudo apt-get -f install
    

(省略可)デフォルト Java バージョンの更新

前述の Ubuntu バージョンの場合は、必要に応じて次のコマンドを実行し、デフォルトの Java バージョンを更新します。

sudo update-alternatives --config java
sudo update-alternatives --config javac

Ubuntu 14.04 に必要なパッケージをインストールする

次のコマンドを実行して、Ubuntu 14.04 に必要なパッケージをインストールします。

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

Ubuntu 12.04 に必要なパッケージをインストールする

次のコマンドを実行して、Ubuntu 12.04 に必要なパッケージをインストールします。

$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so