30 June 2017

Nexus 7 (2012)をPure Nexus 6.0.1にアップグレード

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 インストール後の「タブレット情報」と「メモリー状態」

20170630-purenexus-info.jpg
タブレット情報

20170630-purenexus-memory1.jpg
メモリー消費量

20170630-purenexus-memory2.jpg
ストレージ使用量

20170630-purenexus-apps.jpg
初期インストールされているアプリ類

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」と切り替えると認識するようになる。

20170630-purenexus-mtp.jpg