Nexus 5で「adb sideload」による手動差分アップデートを実施!

既報通り、Google(グーグル)がスマートフォン(スマホ)やタブレット向けプラットフォーム「Android」の最新バージョン「Android 5.0(開発コード名:Lollipop)」(以下、Android 5.0 Lollipop)の最新バージョン「5.0.1」(LRX22C)を「Nexus」シリーズに配信開始しています。

Android 5.0.1(LRX22C)は「Nexus 6」(shamu)および「Nexus 5」(hammerhead)、「Nexus 9」(volantisg)、「Nexus4」(occam)といったWi-Fi+Cellularモデル、「Nexus 9」(volantis)および「Nexus 7(2013)」(razor)、「Nexus 10」(mantaray)のWi-Fiモデル向けに配布されています。

Android 5.0.1はすでに国内でも「Y!mobile」からもNexus 5およびNexus 6向けにネットワーク経由によるソフトウェア更新(OTA)が順次提供されており、変更内容は主に不具合修正となっています。

今回はマイナーバージョンアップということで、ファクトリーイメージを直接導入するのではなく、OTAのように差分のみを手動で導入できる「adb sideload」を試してみましたので紹介したいと思います。

ファクトリーイメージの導入方法は以前の記事などを参照してください。最近では「flash-all」プログラムが用意されているため、手軽に導入できるものの、初期化されてしまうためいちいち再度環境を再構築する必要があり、特にマイナーバージョンアップで毎回初期化されてしまうのは面倒だったりします。

そこで、差分のみをadb sideloadで手動アップデートすれば、OTAによるアップデートと同様にデータや設定は初期化せずにOSバージョンアップを行えるという便利な機能です。

ただし、OTAと同じようにシステムのカスタマイズなどの変更を行っている場合には利用できず、例えば、root化してフォントを変更しているといったことでも導入できないというデメリットも存在します。

なお、adb sideloadを利用するには事前にAndroid SDKを導入し、adbコマンドが使えるようにしておく必要があります。

今回はNexus 5(型番:LG-D721)のAndroid 5.0(LRX21O)からAndroid 5.0.1(LRX22C)にアップデートするので差分ファイルは以下からダウンロードします。

http://android.clients.google.com/packages/ota/google_hammerhead/785a2f7af3718dba7e569decde8b6c4dc476a309.signed-hammerhead-LRX22C-from-LRX21O.785a2f7a.zip

1)電源を切ります
2)電源キーと音量下キーを同時に長押しします(電源が入った状態から「adb reboot bootloader」でも可)
3)音量下キーを2回押して「Start」を「Recovery mode」に合わせて電源キーを押します
4)「Google」が表示され、少し待つと赤い感嘆符が付いた寝ているドロイド君が表示されるので、電源キーを押しながら音量上キーを押して話します
5)Android system recoveryが起動するので、音量下キーを押して「apply update from ADB」を選択し、電源キーを押します
6)「Now send the package you want to apply to the device with "adb sideload "」と表示されるので、パソコン(PC)とmicroUSBケーブルで接続し、PCのターミナル(Mac)またはコマンドプロンプト(Windows)で「adb sideload 785a2f7af3718dba7e569decde8b6c4dc476a309.signed-hammerhead-LRX22C-from-LRX21O.785a2f7a.zip」を実行します

アップデートが100%まで行き、「script succeeded: result was [/system] Install from ADB complete.」と表示されれば成功です。また、「Installation aborted.」と出たら失敗となり、失敗した理由が表示されるとのこと。なお、「error: device not found.」と出る場合にはWindowsでUSBドライバーが導入されていないので導入しましょう。

成功したらAndroid system recoveryで「reboot system now」を選択して再起動したら無事にAndroid 5.0.1になっています。

02
差分アップデート成功!


03
再起動後に「Android 5.0.1」になっていることを確認


記事執筆:memn0ck


■関連リンク
エスマックス(S-MAX)
エスマックス(S-MAX) smaxjp on Twitter
S-MAX - Facebookページ
Factory Images for Nexus Devices - Android — Google Developers
Nexus 端末を出荷時の設定にリセットする - Nexus ヘルプ
Nexusデバイスをadb sideloadで手動で強制的にAndroid 5.0 Lollipopにアップデートする方法(ブートローダーアンロック/Root化/カスタムリカバリ不要) - Android(アンドロイド)おすすめアプリ・カスタムニュース|AndroidLover.Net