Nexus 7が次第にレスポンスが悪くなり、WifiをONにした直後には画面がほぼ固まるような状況に陥るようになった。
Nexus 7には「内蔵メモリーeMMCのTrimが自動的に行われていない」というOS実装の欠陥があるそうなので、ルート権限を取ってTrimを行うアプリを使えば良いだけなのだが、今回はOS自体を5.1.1から6.0.1にアップグレードしてみようと思う。
全ての処理をGUIで行えるWindows版のソフトウエア『Nexus Root Toolkit』を用いる方法と、adbとfastbootのコマンドラインだけで済ます方法の2種類の方法がある。
Nexus Root Toolkitを用いる場合の方法は『Nexus7(2012)root化の簡単な方法・手順』というWebページに詳しいのでそちらを参照。
私の普段使いのパソコンはUbuntu Linuxなので、今回はコマンドラインだけで済ますこととする。
事前準備
現在動いているAndroidの設定画面で
・セキュリティ → 画面ロック → スワイプに変更 (画面ロック掛けない)
・開発者モード → USBデバッグ → ON
ブートローダのアンロック
ブートローダを表示する。adbで次のコマンドを実行するか、電源ON時にボリュームDOWNキーを押したままにして起動するかのどちらか。
$ adb reboot bootloader
ブートローダを表示した状態で
$ fastboot devices
015d4906995ff812 fastboot ← 認識していることを確認
$ fastboot flashing unlock
タブレットの画面に Unlock bootloader ? の選択肢が表示されるので、ボリュームキーで Yes を選択して 電源ボタンを押して確定する。
ブートローダ画面のステータス表示文字列の一番下、赤文字で LOCK STATE - UNLOCKED と表示されれば、アンロック完了。
タブレットを再起動ます。 次のコマンド、もしくはタブレット画面のブートメニューで再起動をかけます。
$ fastboot reboot
この時点で設定が初期化されてしまいますので、表示言語やGoogleアカウントの設定ウイザードが表示されますが、次にファームウエアもアップグレードするので適当にスキップしてしまって良い。
TWRP (Team Win Recovery Project) のインストール
TWRPの公式ページより、Nexus 7 (2012) Wifi 開発コード grouper 用のイメージファイルをダウンロードする。
TWRPイメージファイルを保存したディレクトリで、次のコマンドを用いてタブレットに書き込む。
$ fastboot flash recovery twrp-3.1.1-0-grouper.img flash recovery twrp-3.1.1-0-grouper.img target didn't report max-download-size sending 'recovery' (9686 KB)... OKAY [ 1.257s] writing 'recovery'... OKAY [ 0.392s] finished. total time: 1.649s
タブレットを再起動ます。 次のコマンド、もしくはタブレット画面のブートメニューで再起動をかけます。
$ fastboot reboot
Pure Nexus カスタムROMとGappsファイルのダウンロード
xda-developers 『[UNOFFICIAL][ROM][GROUPER][6.0.1_r62][EXT4/F2FS]★ The Pure Nexus Project ★[22/08/16]』より、
・ Rom Builds: https://www.androidfilehost.com/?w=files&flid=37911
・ Recommended Gapps: Open Gapps (Nano or Pico)
から、ファイルをそれぞれダウンロードする。
今回は、次の2つをダウンロードした
・ pure_nexus_grouper-6.0.1-20160724.zip
・ open_gapps-arm-6.0-micro-20170624.zip
※ micro と nano は書き込み成功したが、picoはタブレットに書き込み失敗した。
TWRPでディスクのフォーマット
TWRPの使い方は『Team Win Recovery Project(TWRP)でのカスタムROMの書き込み(ROM焼き) 』というWebページに詳細に書かれているので、事前に読んでおく。
ボリュームDownを押しながら電源ONして、ブートメニューを表示させる。 さらにボリューム Up・Downキーで『Recovery Mode』を選択し電源ボタンで確定するとTWRPが起動する。
最初に、既存のROM領域をフォーマットする。
TWRPのWipeメニューよりAdvance Wipeを選択し、
・Dalvik/ART Cache
・System
・Cache
・Data
をWipe(フォーマット)します。
TWRPでカスタムROMとGappsを書き込む
次に、書き込みを行うROMファイルをタブレットに転送します。
タブレットをパソコンにUSB接続すると、ストレージとして認識するので、Downloadディレクトリに件のROMファイルとGappsファイルをコピーする。
そして、TWRPのInstallメニューでROMファイルとGappsファイルを書き込む。複数のファイルを指定できるので、ROM → Gapps の順に指定して、連続して書き込むこともできる。
書き込みが終われば、成功しているかどうか表示されているログ画面をチェックして、TWRPのメニューよりリブートする。
Pure Nexus インストール後の「タブレット情報」と「メモリー状態」
タブレット情報
メモリー消費量
ストレージ使用量
初期インストールされているアプリ類
root権限取得
SperSU公式ページより、ZIP形式のファイルをダウンロードし、TWRPで書き込む。
今回使ったのは次のファイル
・SR3-SuperSU-v2.79-SR3-20170114223742.zip
さらに、シェルのコマンド拡張のために、BusyBox (Google Play)をインストール。
インストールしたアプリ
インストールした必須アプリ
・Trimmer (fstrim) - Google Play
・Xperia Home - xda [APP][4.2+][Port] Xperia™ Home - Lolipop Taste [13 Feb 2015]
・Tinycore - CPU, RAM monitor - Google Play
不具合など
パソコンにUSB接続して外部ストレージとして使う場合、1回めの接続ではストレージとして認識していない場合がある。
設定 → 開発者向けオプション → USB設定の選択 を 「PTP」 「MTP」と切り替えると認識するようになる。