Ubuntu 9.04でandroidのビルド

Ubuntu9.04 をクリーンインストールした後でAndroidをビルドしてみたのでそのメモ。

マシンスペックは4CPU 4GBの64bit版のUbuntu9.04。VMware上でなく実機。

http://source.android.com/downloadのページに従ってapt-get でコンパイラ、ライブラリ類をインストール。
Ubuntu Linux (64-bit x86) のところを見て

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

java-1.5.0-sun をデフォルトのjavaに設定。

$ sudo update-java-alternatives -s java-1.5.0-sun

次の行は 9.04では必要なかった。

$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so


新規にrepo sync で全部のソースを取ってきた。約30分かかった。

クアッドコアなので -j4 をつけてmakeを実行する。ついでに時間を測る。

$ time make -j4 > make.log 2>&1
real	18m49.216s
user	58m52.945s
sys	4m6.551s

約20分。システムモニタで観察すると4つのCPUが全て働いているのがわかる。メモリの使用量はピークで3.5GBくらいになる。
これでターゲットのルートファイルシステムはできているが、ついでにSDKも作成。

$ time make -j4 sdk > makesdk.log 2>&1
real	7m25.308s
user	13m26.910s
sys	0m36.994s

エミュレータを起動するには

$ cd out/host/linux-x86/sdk/android-sdk_eng.koba_linux-x86/tools
$ ./android create avd --name koba0 --target 1
$./emulator @koba0 &

(kobaは私のログイン名)


関連
Android ビルドのメモ - 組み込みの人。