Galaxy Nexus向けにJelly Beanをビルドする
先日、Jelly Bean(Android 4.1.1_r1)のソースコードが公開されました。
Galaxy Nexus向けにビルドしてみることにします。
ビルドにはVMware上のUbuntu 12.04(amd64)を用いました。
メモリは12GB割り当てています。
今回、Ubuntuインストール直後の環境を使用したので、ビルド環境を整えることから始めます。
XDAのスレッド等を参考にして進めます。
まず、Java(JDK)をインストールします。
私はこちらのサイトを参考に設定を行いました。
http://www.devsniper.com/ubuntu-12-04-install-sun-jdk-6-7/
Javaがインストールできたら、ビルドに必要なパッケージのインストール等を行います。
$ sudo apt-get install git-core 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 g++-multilib mingw32 openjdk-6-jdk 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
さらに、Androidのソースをダウンロードするためにrepoをインストールします。
$ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo
Jelly Beanのソースをダウンロードします。
それなりに時間がかかります。(私は1.5時間程度かかりました)
作業ディレクトリはmydroid としました。
$ mkdir ~/mydroid $ cd ~/mydroid $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r1 $ repo sync
ソースのダウンロードが終了したら、Galaxy Nexus用のプロプライエタリなバイナリを取得します。
こちらで公開されています。
https://developers.google.com/android/nexus/drivers
$ cd ~/mydroid $ wget https://dl.google.com/dl/android/aosp/broadcom-maguro-jro03c-38ebfe02.tgz $ wget https://dl.google.com/dl/android/aosp/imgtec-maguro-jro03c-c1162ee1.tgz $ wget https://dl.google.com/dl/android/aosp/invensense-maguro-jro03c-9323759c.tgz $ wget https://dl.google.com/dl/android/aosp/samsung-maguro-jro03c-c6bdd0ed.tgz $ tar zxvf broadcom-maguro-jro03c-38ebfe02.tgz $ tar zxvf imgtec-maguro-jro03c-c1162ee1.tgz $ tar zxvf invensense-maguro-jro03c-9323759c.tgz $ tar zxvf samsung-maguro-jro03c-c6bdd0ed.tgz $ ./extract-broadcom-maguro.sh $ ./extract-imgtec-maguro.sh $ ./extract-invensense-maguro.sh $ ./extract-samsung-maguro.sh
次に、ソースをビルドします。
$ cp ~/mydroid $ source ./build/envsetup.sh $ lunch full_maguro-userdebug $ make -j8
-j8の部分は各自の環境に合わせてください。
CPUのコア数か、コア数+1が良いようです。私の環境は4コア2スレッドなので、8としています。
ビルドにも結構時間がかかります。
real 62m49.649s user 380m7.137s sys 35m54.575s
私の環境ではこのようになりました。
make otapackageでCWM等で扱えるZIP形式が出力されます。
$ make -j8 otapackage
すると、~/mydroid/out/target/product/maguro内に、
full_maguro-ota-eng.hogehoge.zipというファイルが出来上がります。
あとはこれを焼けば自ビルドのJelly Beanが起動するはずです。
無事に起動できました。
gappsが入っていないので、手動でインストールする必要があります。
とりあえずgapps-ics-20120429-signed.zipを焼いてみたところ、Playムービーが落ちるようになってしまいましたが、
再インストールすると正常に動作するようになりました。
Android4.1から4.1.1への変更点は把握していませんが、見た目の変更は特に無さそうです。
これから実際に使ってみて確かめようと思います。
コメントはまだありません。