エンジニア未満がエンジニア以上を目指す日々(仮)

戦力外通告の悔しさをバネに自身の技術力向上を目指した技術ブログ

Nexus7 用 Android 5.0 ビルド後の書き込み

ビルドが完了したので、続きです。

$ mkdir image/build
$ cp -a out/target/product/flo/*.img image/build/

適当に書き込みスクリプト作成

$ emacs flash_5.0.0_userdebug.sh
$ cat flash_5.0.0_userdebug.sh
#!/bin/sh

fastboot flash boot image/build/eng/boot.img
fastboot flash system image/build/eng/system.img
fastboot flash recovery image/build/eng/recovery.img
fastboot flash userdata image/build/eng/userdata.img
fastboot reboot

Nexus7 を繋いで書き込み開始。

$ ./flash_5.0.0_userdebug.sh

書き換え完了。
起動するととてもシンプルな Nexus7 が立ち上がりました。

f:id:hielf:20141207121114p:plain:w300
f:id:hielf:20141207121117p:plain:w300

Nexus7 用 Android 5.0 ソースコードのビルド

Nexus7 用 Android 5.0 ソースコードをビルドします。
まずはソースコードの取得です。
取得方法はこの辺りを参照。

Downloading the Source | Android Developers
Codenames, Tags, and Build Numbers | Android Developers

上記より、Nexus7 は android-5.0.0_r4 なので、以下の手順で取得しまうす。

$ repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.0_r4
$ repo sync -j8
$ repo start android-5.0.0_r4 --all

次にプロプライエタリなバイナリを取得します。
Binaries for Nexus Devices - Android — Google Developers

バイナリは以下の手順で展開します。

$ mkdir -p image/binary
$ cp -v ~/Downloads/nexus7_5.0/binary/* image/binary/
`/home/hielf/Downloads/nexus7_5.0/binary/asus-flo-lrx21p-4d3460bb.tgz' -> `image/binary/asus-flo-lrx21p-4d3460bb.tgz'
`/home/hielf/Downloads/nexus7_5.0/binary/broadcom-flo-lrx21p-ed7aabcb.tgz' -> `image/binary/broadcom-flo-lrx21p-ed7aabcb.tgz'
`/home/hielf/Downloads/nexus7_5.0/binary/qcom-flo-lrx21p-294f38cd.tgz' -> `image/binary/qcom-flo-lrx21p-294f38cd.tgz'
$ for i in image/binary/*.tgz; do tar zxf $i; done
$ for i in extract*.sh; do ./${i}; done 

準備が整ったので、ビルドします。

$ . build/envsetup
$ lunch
  Nexus7 なので、"18. aosp_flo-userdebug" を指定
$ make -j8

ビルド終わらず。。

Nexus7 用 Android 5.0 (lollipop) Factory image の書き込み

Nexus7 用の Android 5.0 (lollipop) Factory image が公開されたので、
とりあえず書き換えてみます。

書き換え手順とイメージはいつもの場所です。
Factory Images for Nexus Devices - Android — Google Developers

Factory image はこれを使います。
Factory Images for Nexus Devices - Android — Google Developers

fastboot を使用するので、先日ビルドした Android 5.0.0_r2 に移動して、
環境設定しておきます。

$ cd ~/workspace/mydroid/
$ . build/envsetup.sh 

次に先ほどダウンロードした Factory image を解凍して、
ディレクトリに移動します。

$ cd Downloads/nexus7_5.0/
$ tar -xvf razor-lrx21p-factory-ba55c6ab.tgz 
$ cd razor-lrx21p/

fastboot モードにします。

$ adb reboot bootloader

で再起動をかけつつ、"ボリューム + 電源キー" 押しっぱなしにします。
Building for devices | Android Developers

LOCK STATE は既に unlocked なので、

$ ./flash-all.sh

で書き換え開始。後は完了まで待つだけです。
自分の環境では、書き換え開始から完了後のリブートまでで
3分30秒程度かかりました。

というわけで Android 5.0 (lollipop) になりました。
余談ですが、リブート後の初回起動も長かったです。。

スクリーンショットを取ったけど、貼り付けはまたあとで。
バージョン確認からのお遊びがついにゲームになってました。

Android 5.0 のソース取得とビルド

Android studio は棚上げです。

やっとこさ Android 5.0 のソースコードが公開されたようなので早速取得します。

Google Groups より、
android-5.0.0_r1 は Nexus Player (fugu) 向け、
android-5.0.0_r2 は Nexus 9 (volantis) 向けらしいです。

Nexus 9 は持っていませんが、r2 で取得してみます。

$ repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.0_r2
$ repo sync -j8

で、ビルド。

$ . build/envsetup.sh 
$  lunch
-> aosp_arm-eng
$  time make -j8

で、ビルドスタート。
でもビルド終わっても使い道なし。。
Nexus 7 向けを早くお願いします。