Android Wearを「adb sideload」を使って手動で即座にアップデートする方法です。
OTAでは通常、配信元が配信する地域やタイミング、端末数を設定しています。
特に、配信開始直後はバグ発生時の問題拡大を防ぐために受信できる端末数がかなり少なくななっています。
そのため、ユーザーが「アップデートの確認」を行っても”お使いのシステムは最新の状態です”などと表示されてしまい、任意のタイミングで更新できない場合がほとんどです。
(例えばGoogleの場合、全ての端末が受信できるようになるまで数週間前後かかる)
しかし、配信しているURLは決まっているため、そのURLが判明すれば自分でダウンロードすることが出来ます。(Nexus端末では殆どの場合すぐに判明)
自分でダウンロードした更新ファイルは「adb sideload」を使うことで適用することが出来るため、即座にアップデートすることが可能です。
この仕組はAndroid端末だけでなく、Android Wearでも同様です。
adb sideloadについて
端末は「OTA(Over The Air)」で更新される
Android端末では、一般に「OTA(Over The Air)」という仕組みを用いてメーカーなどが更新ファイルを配信、それを適用することで端末の更新が行われます。OTAでは通常、配信元が配信する地域やタイミング、端末数を設定しています。
特に、配信開始直後はバグ発生時の問題拡大を防ぐために受信できる端末数がかなり少なくななっています。
そのため、ユーザーが「アップデートの確認」を行っても”お使いのシステムは最新の状態です”などと表示されてしまい、任意のタイミングで更新できない場合がほとんどです。
(例えばGoogleの場合、全ての端末が受信できるようになるまで数週間前後かかる)
adb sideloadによって即座にアップデート可能
前述の通り、OTAは、配信元の設定に依って更新ファイルが配信されるため、配信開始直後などではユーザーが任意のタイミングで更新することが出来ません。(数週間かかる場合も)
自分でダウンロードした更新ファイルは「adb sideload」を使うことで適用することが出来るため、即座にアップデートすることが可能です。
この仕組はAndroid端末だけでなく、Android Wearでも同様です。
adb sideloadでの手動アップデート
今回はASUS ZenWatch 2 WQ501を例に「Android 5.1.1 LCB51」から「Android 6.0.1 MEC23U」へ実際に更新しながら説明します。
他のAndroid Wearでも手順は同じです。
あらかじめ、Android Wearでadbコマンドを使用できるようにしておく必要があります。詳しくはこちらの記事を参考にしてください。(USB接続の場合のみadb sideload利用可能)
全体の流れは以下の通りです。
- 更新ファイルのダウンロード
- リカバリ(Recovery)の起動
- リカバリからadb sideloadでアップデート
また、最近のほとんどのOTAでは、更新ファイルに含まれている内容が直前のソフトウェアバージョンとの「差分」のみになっています。(配信容量削減のため)
そのため、適用しようとしている更新ファイルの”1つ前”のソフトウェアバージョンの状態である場合のみアップデートすることが可能です。
※root化済みである場合やリカバリを書き換えている場合、システム領域に変更を加えてある場合などではアップデート出来ないことがあります。
更新ファイルのダウンロード
アップデートしたい端末用のファイルをダウンロードします。
有志の方々により配信URLも公開されている上、様々なサイトでミラーされています。
参考までに、2016年初頭に実施されたAndroid 6.0ベースのAndroid Wearへの更新ファイルはこちらに掲載されています。
ASUS ZenWatch 2 WQ501の「Android 5.1.1 LCB51」から「Android 6.0.1 MEC23U」への更新ファイルはこちらです。
参考までに、2016年初頭に実施されたAndroid 6.0ベースのAndroid Wearへの更新ファイルはこちらに掲載されています。
ASUS ZenWatch 2 WQ501の「Android 5.1.1 LCB51」から「Android 6.0.1 MEC23U」への更新ファイルはこちらです。
リカバリの起動
Android Wearのリカバリ起動方法は以下の2通りがあります。
adbコマンドによる起動
- Android Wear端末をPCとUSB接続し、adbコマンドを使用できるようにしておく。
- PCでコマンドプロンプトを起動する。
- コマンドプロンプトに「adb reboot recovery」と入力し、「Enter」キーを押して実行する。
- 画像の様な画面が表示されていることを確認し、画面をタップする。
※ZenWatch 2の場合、鈍いのかなかなか反応しません。何回か様々な部分をタップしてみてください。→ダメな場合は「画面スワイプによる起動」を試してください。 - リカバリが起動したことを確認する。
画面スワイプによる起動
端末によっては手順が異なる場合があります。
- 電源ボタンを長押しし、完全に電源をOFFにする。
- メーカーロゴが表示されたら、画面右上から左下に向かってスワイプする。
※一度では認識しないことがあるので、画面が変わるまで繰り返し行ってください。
- リカバリが起動したことを確認する。
リカバリからadb sideloadでアップデート
- 画面を「上/下にスワイプ」して「apply update from ADB」を選択し、「左から右にスワイプ」する。
- 画面下部に「Now send the package you want to apply to the device with "adb sideload <filename>"...」と表示され、sideload待機状態になったことを確認する。
- PC上の更新ファイルがある場所でコマンドプロンプトを起動する。
- 「adb sideload 」と入力する。
※末尾の半角スペースを忘れずに。
- 続いて、コマンドプロンプトに更新ファイルをドラッグアンドドロップし、「Enter」キーを押す。
※「adb sideload ~~.zip」(~~.zipは更新ファイル名)となっているはずです。
- ファイルの転送と更新が始まるので、しばらく待つ。
※絶対に途中でUSB接続を切断しないでください! - コマンドプロンプト画面に「Total xfer: ~x」(~xは環境による)と表示されていることを確認する。
- 端末の画面下部に「Install from ADB complete.」と表示されていることを確認し、画面上部の「reboot system now」が選択されていることを確認して、「左から右にスワイプ」する。
- 端末が自動的に再起動するので、更新されていることを確認する。
以上がadb sideloadを使って端末を手動で即座にアップデートする方法になります。