Google Nexus を Lolipop (5.0) にバージョンアップする


経緯

あることから安い携帯端末が必要となり、ちょうどいいタイミングでリファーブリッシュ品(再生品)の Nexus 4 が Expansys が安く売りだされていたので購入しました。2年前の端末ですが(LTE除き)スペックはなかなか、そして、なにより 5.0、Lolipop に上げることができちゃう!というのが決め手でした。ここでは、Android 4.2.2 からのアップデートを記録しています。たぶん、他の Nexus でも似たようなものではないかと思います。

はじめに用意するもの

Google Developers - Factory Images for Nexus Devices の手順どおりに進めていきます。まず、ダウンロードすべきは、このリンクにある Factory Image というもので、この後のステップで Flashされる(焼かれる) AndroidOS 本体であり、端末ごとに異なるものです。リンク先のページの下の方にリストされています。今回は occam-lrx21t-factory-51cee750.tar というファイル名で500MB強でした。

次に、Android SDK が必要です。Eclipse ADT (Eclipse IDE with built-in ADT (Android Developer Tools))という代物です。今回ダウンロードしたバージョンは、adt-bundle-mac-x86_64-20140702です。

※ 今回は購入したてでしたのでバックアップのステップは記述していません。OSの再インストールではデータがすべて消去されるため、事前にバックアップ及びリストア方法の確認をお忘れなく。

手順

1. platform-tools の準備

最初に ADT (Eclipse) を最新化する必要があるようので、ADT を起動します。メニューの Window > Android SDK Manager を選択します。すると、以下のようにダイアログが表示され更新対象が検知されるようなので、

Install ** pakages ... を押下し先に進めます。ADT は直接利用しないのでここで終了します。以下のように Eclipse 中の sdk/platform-tools 下が最新になっていれば良いようです。

次からが、OSの更新(イメージのフラッシュ)の実際の手順になります。

2. 開発者モードの有効化

今度は端末を操作します。Android 4.2 からは開発者向けオプションが非表示になっています。 端末 > 端末情報 へと進み ビルド番号 を7回クリックします。そして、画面をひとつ戻ると、開発者向けオプション メニューがふええているので選択し、USBデバッグ を有効にします。そして、端末をPCに接続します。 ./adb devices コマンドを実行しデバイスが表示されればOKです。

$ cd path/to/sdk/platform-tools
$ ./adb devices
List of devices attached
0092389v2dfd5c5a9   device

3. fastboot mode でリブート

コマンドから実行するか、端末ごとの特殊なキーで再起動します。前者の場合、

  $ cd path/to/sdk/platform-tools
  $ ./adb reboot bootloader

後者の場合は、Booting into fastboot mode から自分の端末のキーを探すみたいです。リブートに成功すると、以下のような画面になります。

4. flash-all を実行しフラッシュ (1)

最初にダウンロードした Factory Image を解凍し、flash-all スクリプトを実行します。

$ ./flash-all.sh
./flash-all.sh: line 17: fastboot: command not found
./flash-all.sh: line 18: fastboot: command not found
...

うぅ、fastboot コマンドがないと言われてしまいました。先ほどの ADT の platform-tools にパスを通す必要があるようです。

$ export PATH=$PATH:path/to/sdk/platform-tools

5. flash-all を実行しフラッシュ (2)

更にもう少し見てみると unlock がどうのこうのと。Androidの画面の最後の行に LOCK STATE - locked とあります。

$ fastboot oem unlock

実行すると、端末側に以下の様な画面が現れます。

音量の+Yesを選択し電源ボタンで実行します。そして、気を取り直して再度実行です。

$ ./flash-all.sh
sending 'bootloader' (2264 KB)...
OKAY [  0.143s]
writing 'bootloader'...
...
OKAY [  0.453s]
rebooting...

finished. total time: 79.853s

無事に終了するとリブートがかかり、数分間端末がロゴのまま動かなくなります(インストールしているようです)。その後、以下のようにMaterial Designで起動します!!

6. ロックして終了

OSが再インストールされたため、開発者向けオプション メニューは既に表示されていません。再度表示するようにし、USBデバッグ を有効にします。そして、もう一度fastboot modeでリブートし、

$ adb reboot bootloader

今度は端末をロックします。以下のコマンドを実行し電源ボタンで起動します。

$ fastboot oem lock

そして、最後に念のため USBデバッグ を無効にしておきましょう。

まとめ

一部、戻りが発生しましたが、わかってみれば簡単な手順であると言えそうです。また、Lolipop は今のところ Nexus 4 でも快適に動いています!。ご参考まで。

参考リンク