経緯
あることから安い携帯端末が必要となり、ちょうどいいタイミングでリファーブリッシュ品(再生品)の 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 でも快適に動いています!。ご参考まで。