どせいたんさき。

ナスダヨー

Nexus 7(2012版)が修理から返ってきたのでやったことメモ

概要

まったく電源が入らなくなった Nexus 7 (参考)が返ってきた.修理のレポートを読んだところによるとマザーボードが逝ってしまったのが原因らしい.マザーボードを換装して再び動くようになったのだけど,当然のように記憶はリセットされていたので初期設定としてやったことをメモ.

Android 4.3 にアップデート

このサイトによれば 2012 年モデルの Nexus 7 にも Android 4.3 が配信されている模様.自分の端末ではリンク先の First Method をもちいたところ Android 4.3 のアップデートができた.だいたい 10—15 分くらいで終了した.

First Method

  1. Navigate to Settings > Apps > All
  2. Look for Google Services Framework.
  3. Select Force Stop.
  4. Tap on Clear Data.
  5. Again, navigate to Settings > About > System Update.
Google Nexus 7 Android 4.3 Jelly Bean Update

ブートローダのアンロック

ブートローダのアンロックはここを参考に以下の手順で行った.

最新版の platform-tools をインストールする

最新版の Android SDK公式サイトからダウンロード.ダウンロードしてきた zip ファイルから platform-tools 以下を抜き出して適当なディレクトリに保存.adbfastboot を使えるようにしておく.今回ダウンロードした adb のバージョンは 1.0.31 だった.ちなみにバージョン 1.0.29 の adb では Android 4.3 にアップデートした Nexus 7 を認識できなかった.

USB デバッグモードを有効にする

Setting > About tablet をひらくと一番下に Build number があるので 7 回タップする.すると SettingDeveloper options が出現する.Developer options の下に USB デバッグモードを有効にするオプションがある.

端末をブートローダで起動する

adb を使って端末をリブート & ブートローダで起動する.

cd /your/platform-tools/
sudo ./adb start-server      # adb サーバを起動
sudo ./adb devices           # 念のため端末が見えているかどうかを確認
sudo ./adb reboot bootloader # ブートローダ画面でリブートする
fastboot でブートローダをアンロックする

fastboot で端末をアンロック.

sudo ./fastboot oem unlock

これを実行すると端末に確認画面が表示される. Nexus 7 では音量キーで選択肢を上下に,電源キーで決定できる.恐れずに Yes を選択するとめでたくブートローダがアンロックされる.ただしアンロックするとストレージに保存されたほぼすべてのデータが初期化されることに注意.ちなみに Android 4.2 → 4.3 へのアップデートは初期化されなかった.

リカバリを TWRP に変更する

SuperSU をインストールするためにカスタムリカバリをインストールする.先ほどと同じくこのサイトに書かれている内容を参考にした.実際の手順は以下の通り.

端末をブートローダで起動する

割愛.

インストールするカスタムリカバリイメージをダウンロードしてくる

TeamWin が公開している Team Win Recovery Project (TWRP) というカスタムリカバリを使用した.Nexus 7(grouper) 用のカスタムリカバリはここからダウンロードできる.今回はバージョン 2.6((openrecovery-twrp-2.6.0.0-grouper.img)) をダウンロードした.

fastboot でリカバリを書きかえる

ブートローダ画面の端末にダウンロードしてきたイメージをインストール.

sudo ./fastboot flash recovery /path/to/openrecovery-twrp-2.6.0.0-grouper.img

SuperSU をインストールする

TWRP2 の機能を使って SuperSU をインストールする.

SuperSU をダウンロード

このページzip ファイルをダウンロードするためのリンクがある.今回はバージョン 1.51((UPDATE-SuperSU-v1.51.zip)) を使用した.

端末をリカバリモードに移行

ブートローダ画面なら音量ボタンでリカバリモードに移行する選択肢が選べる.そうでなくとも adb をつかえばリカバリモードで再起動できるはず.

SuperSU を端末のストレージに移動させる

Nexus 7 なら /sdcard/Download/ にダウンロードしてきた zip ファイルを保存する.

# TWRP2.6 のリカバリモードなら adb と通信ができるようになっているはず
sudo ./adb push /path/to/UPDATE-SuperSU-v1.51.zip /sdcard/Download
TWRP で SuperSU をインストールする

リカバリのメニュー画面左上にある Install を選択.先ほどストレージに保存した zip ファイルを選択する.本当にインストールするのか?と確認されるのでスワイプしてインストールする.画面にログが出ているので無事にインストールが成功したかどうかを確認しておくことAndroid 4.3 では root ディレクトリ(/) に zip ファイルを保存したときはインストールに失敗していた.

もしかしたらあらかじめ system パーティションをマウントしておく必要があるかもしれない.メニュー画面の Mount を選択して system にチェックをつけるか adb をつかってパーティションをマウントしておけばよい.

fallback_fonts.xml を書きかえる

リカバリモードなら system 内部のファイルを書きかえることができる.

TWRP で system をマウント

リカバリのメニューから system パーティションをマウント.これで system 内にあるファイルが見えるようになる.

fallback_fonts.xml をローカルにコピー

adb を使えば端末内部のファイルを抜き出せる.

sudo ./adb pull /system/etc/fallback_fonts.xml ./fallback_fonts.xml
fallback_fonts.xml を書きかえる

このエントリを参考に書きかえる.

fallback_fonts.xml を上書きする

adb を使えば端末内のファイルを書きかえられる.

sudo ./adb push ./fallback_fonts.modified.xml /system/etc/fallback_fonts.xml

以前インストールしていたアプリケーションを再インストール

Google Play には過去にインストールしたことのあるアプリケーションが記録されている.その情報を参考にまずはすぐ使いそうなアプリケーションをインストール.

これでなんとか

ほぼ壊れる前の環境を構築することができた.ただし端末内に保存していたデータは全部消えた*1


*1:Jコミの本棚とかぷよクエのデータとか