watermint.org - Takayuki Okazaki's note

Nexus 7 (2012)をAndroid 7.1.2にバージョンアップ

Nexus 7 (2012)が自動バージョンアップによってアップデートされた最終バージョンがAndroid 5.1.1。このバージョンになってからひどく端末が遅くなり、使い勝手ががくんと落ちてしまいました。このため今では手元にある数少ないNFC対応端末として、Suicaの利用履歴をMoneyforwardのアプリケーションでMoneyforwardに転送するぐらいの使い道にしか使っていませんでした。

軽量で手頃なサイズなのでもう少し使い勝手が上がればいいなということと、単純に新しいAndroidを触ってみたいということでAndroid 7.1.2へバージョンアップしてみることにしました。いくつか失敗しながらとなったので備忘録として残しておきます。なおメーカーサポート外となりますので自己責任にて。

参考にしたサイト

手順

試行錯誤しながら+うろ覚え部分もありますがだいたい次のような流れです。

Nexus 7のデータをバックアップ

このアップデートのタイミングでデータは一度消去するのでバックアップをとっておきます

Nexus 7を開発者モードに

  • 設定→端末詳細→ビルド番号でビルド番号を7回ぐらいタップ
  • 設定→開発者向けオプションでUSBデバッグをONに

Platform Toolsをダウンロード

Android 7.1.2等をダウンロード

ROM 7.1.2_r33 NZH54D Grouper Tilapia F2FS/EXT4 Android 7.x AOSPに掲載されているものをダウンロード。

Gappsは最初Android 7.1 Nougat on Nexus 7 2012 WiFiに記載のあるOpenGappsを入れてみたのですがAndroid 7.1.2起動直後の初期設定アプリがクラッシュするためBeansGappsを使いました。

OpenGappsでもキャッシュをクリアしたりすれば大丈夫だったというような報告をみて試してみましたが、手元ではうまくいかず最終的にBeansGappsでは問題ありませんでした。

ブートローダーのアンロックとTWRPの導入

パソコンとNexus 7をUSB接続してブートローダーのアンロック。Platform Toolsのなかに入っているadbコマンドとfastbootコマンドを使います。

$ adb reboot bootloader
$ fastboot oem unlock

次にtwrpイメージの書き込み。twrpのファイル名は適当に読み替えてください。

$ fastboot flash recovery twrp-x.x.x-x-x.img
$ fastboot reboot

TWRP for Asus Nexus 7 2012 Wi-Fiに記載のあるとおり最後のリブートコマンド実行時にすこし注意が必要です。

Note many devices will replace your custom recovery automatically during first boot. To prevent this, use Google to find the proper key combo to enter recovery. After typing fastboot reboot, hold the key combo and boot to TWRP. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don’t follow this step, you will have to repeat the install.

最後にリブートする際、Nexus 7のボリュームダウンボタンと電源ボタンを長押しします。これにより書き込んだカスタムリカバリーが自動的に工場出荷状態に戻されることを防ぎます。

OSとGappsの導入

あとはAndroid 7.1 Nougat on Nexus 7 2012 WiFiにある手順5から順に実行していきます。スクリーンショットをとらなかったのでスクリーンショットを参照されたい方は該当記事をご参照ください。

リカバリモードで起動。

$ adb reboot-bootloader

起動するとコマンドが表示されているのですが、ボリュームアップ・ダウンで選択し電源ボタンで実行できます。ボリュームダウンボタンを何回か押して「Recovery Mode」を選んで電源ボタンで実行します。

この後の手順は下記の通りです。

  • Wipeを選んでFactory Resetを実行します。
  • TWRPのメインメニューまで戻り、Advanced→ADB Sideloadまで進みスワイプしてsideloadを開始します
  • パソコンから$ adb sideload aosp_grouper-7.1.2-ota-eng-20170811.ds.zipとコマンドを実行してOSイメージを書き込みます。
  • 次にGappsを書き込みますが、またTWRPのメインメニューまでもどりAdvanced→ADB Sideloadまで進み、今度はWipe Dalvik Cacheを選択した状態でスワイプします
  • パソコンから$ adb sideload BeansGapps-Mini-7.1.x-20170725.zipとしてGappsを導入します。
  • Reboot Systemを選択してリブートします。TWRPのアプリを入れるかどうか聞いてきますが、これはどちらでもよいでしょう。

その後の設定など

起動後にはAndroidの初期設定を勧めていきます。Wifiの設定などを行い、設定を勧めていけば完了です。Play Storeアプリはインターネット接続されていれば自動的にダウンロードされてきます。