2010年06月29日

Android2.2(Froyo)のダウンロードとビルド

6/24にAndroid2.2(Froyo)のソースが公開されました。さっそくビルドしてみたので、その方法を簡単に紹介します。



準備

Android2.1がビルドできた環境を用意してください。ここではその説明は省略。

私はx86_64のUbuntu 9.04を使っています。

ダウンロード

froyoのブランチを明示してrepo init します。

$ mkdir android-froyo
$ cd android-froyo/
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
$ repo sync

私がやったときには74分かかりました。

2010.7.7追記

androidのソースリポジトリにfroyo-releaseというブランチとandroid-2.2_r1, android-2.2_r1.1というタグができています。

タグとブランチはどちらも repo init の -bオプションで指定できるようです。

これらのブランチの用途は明記されていませんが、おそらくは

froyo = 開発ブランチ

froyo-release = リリースブランチ

のようです。今日の時点ではfroyo-releaseブランチの先頭にandroid-2.2_r1.1のタグが打たれています。

ブランチだとダウンロードしたときによって内容が変わっていくので、おすすめはタグを指定することです。つまり

$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2_r1.1
$ repo sync

android-2.2_r1 からandroid-2.2_r1.1への変更点についてはこちらに書きました。

ビルドとエミュレータの起動

まずはデフォルトの状態でビルドしてみます。

$ cd android-froyo/
$ . build/envsetup.sh 
$ lunch
(リターン入力)
$ make -j4 2>&1 |tee make.log

私の環境では27分くらいかかりました。

ここでビルドしたエミュレータは以下のようにして起動します。

$ emulator -show-kernel &
$ adb logcat

DalvikVMのJITを有効にする

デフォルトのビルドでは安定性が重視されているらしく、DalvikVMのJITは有効になっていません。JITを有効にするためには以下の設定で再ビルドします。

export TARGET_ARCH_VARIANT=armv5te-vfp
export WITH_JIT=true

make clean
make -j4 showcommands 2>&1 |tee make.log

showcommandsはビルド時に実行したコマンドをダンプするためのまじないです。(Linuxカーネルのビルド時の V=1 と同様。)

これでmake.log を見て意図したとおりにビルドされたか確認します。

この他にもTARGET_ARCH_VARIANT=armv7-a-neonなどを試したのですが、emulatorだとSEGVで落ちます。(emulator では-kernel prebuilt/android-arm/kernel/kernel-qemu-armv7 でv7用のカーネルを指定する)

実機では動くのでqemuの問題のようです。

V8 JavaScriptエンジンを有効にする

export JS_ENGINE=v8

を追加してビルドすればJavaScriptエンジンにV8が使われるようになりますが、emulatorだとけっこう不安定のようです。V8 BenchmarkもSun spiderも落ちてしまいます。

デフォルトではRAMサイズは96MBです。これを増やすには-memoryオプションが便利です。

RAMサイズ256MBで起動する場合は

$ emulator -show-kernel -memory 256 &
$ adb logcat


トラックバックURL

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード