くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Nexus7(2013)をAndroid5.0 Lollipopに手動であっぷでーとする

Android LことLollipopのOTA配信が、Nexus端末で開始されました!

近くの家電量販店のNexus7がAndroid5.0になっていて、触ってみたら圧倒的なスピード感!滑らかさ!

ということで、勢いでNexus7を買ってみました!

がしかし、アップデートはすぐできるわけではなく、時が来たらできるようになるとのこと。。。

そんなの待てないと思っていたら、手動で実施できるみたい♪ということで、やってみました。

環境はいつもどおり、Ubuntu14.04 x64とNexus7(2013)です。

ANDROIDLOVE.netさんの下記のエントリーを参考に実施しました。(わかりやすくて感謝!感謝!)

準備編

準備することは3つ

  1. Nexus7を4.4.4までアップデートしておく
  2. adbコマンドでNexus7を認識できるようにする
  3. OTAアップデートファイルをダウンロードしておく

実施編

ANDROIDLOVE.netさんのエントリーどおりに、下記の流れを進めた。

  1. まず、電源を切った状態で電源ボタンとボリュームダウンボタンを同時に長押ししてブートローダーを起動します。
  2. ボリュームボタンを何度か押して「Recovery mode」を表示させ、電源ボタンで決定します。
  3. すると、「コマンドが指定されていません。」という表示と共に赤い!マークつきで倒れているドロイド君が表示されるので、電源ボタンを押しながらボリュームアップボタンを押します。
  4. すると、Nexus標準のリカバリが起動します。
  5. ボリュームダウンボタンを1回押して「apply update from ADB」を選び、電源ボタンを押して決定します。
  6. すると、ディスプレイ下部に「Now send the package you want to apply to the device with "adb sideload "・・・」と表示されます。
  7. "$ adb sideload 「ダウンロードしたOTAアップデートファイルのパス」”を実行します。

すると、

$ adb sideload ~/Downloads/5a0f7a47588c268c239e58cf568823c6637c5af1.signed-razor-LRX21P-from-KTU84P.5a0f7a47.zip
loading: '/home/user/Downloads/5a0f7a47588c268c239e58cf568823c6637c5af1.signed-razor-LRX21P-from-KTU84P.5a0f7a47.zip'
error: insufficient permissions for device

おぉぉん?なんだこれ?パーミッションがおかしい?

とりあえず、「adb devices」してみると、

$ adb devices
List of devices attached
????????????    no permissions

えぇぇん?なんだこれ?認識されてない?

$ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 006: ID 05c8:036d Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 002 Device 005: ID 8087:07dc Intel Corp.
Bus 002 Device 015: ID 18d1:d001 Google Inc.
Bus 002 Device 004: ID 13fe:1e27 Kingston Technology Company Inc.
Bus 002 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 007: ID 138a:0050 Validity Sensors, Inc.
Bus 002 Device 008: ID 04fe:0006 PFU, Ltd
Bus 002 Device 002: ID 04fe:0008 PFU, Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

あれ?Nexusがいなくて、「Bus 002 Device 015: ID 18d1:d001 Google Inc.」が増えてる。。。

とりあえず、設定ファイルの「/etc/udev/rules.d/51-android.rules」に、「Bus 002 Device 015: ID 18d1:d001 Google Inc.」に対する記述を追加

$ sudo vim /etc/udev/rules.d/51-android.rules
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="4ee2", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="d001", MODE="0666", GROUP="plugdev"

設定を変えたので、adbを再起動

$ sudo /opt/android-sdk/platform-tools/adb kill-server
$ sudo /opt/android-sdk/platform-tools/adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

再度、adbのデバイスを確認すると・・・

$ adb devices
List of devices attached 
0a8322f1        sideload

おぉ!ちゃんと表示された!!良かったよかった。

とりあえず、いけそうなのでもう一度

$ adb sideload ~/Downloads/5a0f7a47588c268c239e58cf568823c6637c5af1.signed-razor-LRX21P-from-KTU84P.5a0f7a47.zip
loading: '/home/user/Downloads/5a0f7a47588c268c239e58cf568823c6637c5af1.signed-razor-LRX21P-from-KTU84P.5a0f7a47.zip'
sending: '/home/user/Downloads/5a0f7a47588c268c239e58cf568823c6637c5af1.signed-razor-LRX21P-from-KTU84P.5a0f7a47.zip'  100%

今度はちゃんと行けた!

気を取り直して、引き続き、

  1. リカバリメニューから「reboot system now」をボリュームキーで選んで電源ボタンで決定します。
  2. Android 5.0 Lollipopのブートアニメーションが始まりました。
  3. 起動すると、Androidアプリのアップデートが始まります。
  4. これでAndroid 5.0 Lollipopへの強制的な手動アップデートは成功です。

これでAndroid 5.0 Lollipopへの
強制的な手動アップデートは成功です。

やったー!!無事に完了!ぬるぬる動く!アプリの起動早い!

こうして無事に手動アップデートできたとさ。めでたしめでたし。

途中うまく行かなかった時に参考にしたサイト。