LG Optimus F3Qのroot化/unroot化

"自己責任"、"「転んでも一人で起きる」"の意味がわからない方は、以下の記載の事柄は適用しないように、お願いいたします。
例によって免責条項を書いておく。


さてこの度購入した愛しの愛しのAndroid QWERTYスマホ、LG Optimus F3Q、日本でもよくあるように、オペレータ向けのもので、T-MobileSIMロック機なのだ。
海外では一定の期間がたった後、例えば1-2年ほど定額払いのサービスで使わされた後、もしくは別料金を払うなど実質的な端末の代金をオペレータに支払うことで、SIMロックを解除してくれる。
もちろん、各種ごにょごにょ魔法サービスなども横行している。
いずれにせよ、特定オペレータ向けの端末のSIMロックを解除した状態で、入手することができる。
今回はそのような形でSIMロックが解除されたものを、ebay経由で入手した。
すぐにAT&TのSIMを突っ込んで動作を確認したが、確かにSIMロックは解除されている、無問題。
しかし、このような特定オペレータ向けの端末は、いろいろとそのオペレータ独自(どこが?!)のサービス用のアプリが入っており、メモリは圧迫する、起動の度にいろいろとアラートを出すなど大変ウザい。
そこで、root化して、これらの特定オペレータ向け、及びLGの独自アプリを取り除くことにした。
手順は、

  • ADBでLG Optimus F3Qが認識できるようにする
  • Saferootでroot化する
  • (やりたければ)NAND flashの情報のダンプ(dd)を取る
  • カスタムリカバリーであるTWRPを導入する、Flashifyを使用する
  • ROMのバックアップ
  • Titanium Backupを導入、いらないアプリを消す

今回ついでに発生してしまったのが、unroot化だ。
勤務先のメールシステムに接続するアプリが、root化を検出して、メールサーバへのアクセス権限の取得を阻むのが分かったからだ。
このため、これらの作業の後に

  • Super SUを導入、unroot化する

が追加になった。

(20150517追記)

ADBでLG Optimus F3Qが認識できるようにする

ADBとはAndroid Debug Bridgeのことで、Androidのソフトを開発する際にリモートデバッグ(PCのエミュレータではなく、実機を実行環境にしてデバッグする)に使用するツールである。
これはAndroid SDKの中に含まれていている。リンクはこちら。

これ以外に、各機種のADBドライバが必要になる。Android機はPCにUSB経由で接続した場合に、メディアデバイス(MTP)として認識されるが、このドライバが入っていればADBで接続が可能になる。
LG Optimus F3Q用のADBドライバはこちら。

次に"Setting"->"Developer Options"->"USB Debugging"のチェックを入れる。
これで準備完了で、最後に動作確認だ。
LG Optimus F3QをPCに接続し、ドライバのインストールが完了したら、コマンドプロンプトを開き、(SDKのフォルダー)\platform-toolに移動し、

adb devices
と叩いて、端末が確認できればOKだ。


次の作業に入る前に、端末を完全に初期化しておくことをお勧めする、新たな体に生まれ変わるのだ。

Saferootでroot化する

Androidをクラックする際には、root化やbootloaderのunlockなどの呪文が出てくる。
Androidは元がlinuxなのでroot権限が存在する。
そのroot権限を取得し、suやsudoを出来るようにするのが、root化だ。
これによって、ユーザが改変できないシステムやappのファイルをごにょごにょすることができるようになる。
bootloaderのunlockは文字通りだ。
Android OSには3つのブートモードが存在する。
一つは我々が目にする通常のブート、二つ目が端末が起動していない状態での充電モード、もう一つがリカバリーモードだ。
bootloaderのunlockをすることによって、これらのブート用のROMの改変が可能になる。
root化、unlockをするのには、各機種ごとにいろいろとツールが存在する。
LG Optimus F3Qの場合にはSaferootを利用する、リンクはこちら。

これは、何の難しいこともなく、ダウンロード、解凍、コマンドプロンプトで"install.bat"の実行、で出来てしまう。

(やりたければ)NAND flashの情報のダンプ(dd)を取る

さて、これ以降の改変は、純正リカバリーが使用できなくなる。
NexusのようにROMイメージが転がっていれば問題ないのだが、そうでない機種は、万一やっちまった場合に、端末が全く動かなくなってしまうことがある、いわゆる文鎮化である。
これに備えてNAND flshのダンプ(dd)を取っておくことが懸命だ。
ddもlinuxのコマンドで、ファイルシステムをそっくりそのままファイルに出力するプログラムだ。
詳しい手順はこちらを参照願いたい。
筆者は端末が安かったし、面倒だし、NAND flashのダンプイメージが結構でかくて内部フラッシュには格納できないし、実は次のステップでバックアップを取ることが出来るなどなどで、やらなかった。

カスタムリカバリーであるTWRPを導入する

ここからの作業を極力オフラインですすめる。
Google Playに行って更新なぞされると、どの状態がバックアップされたか分からなくなるからだ。
まずLG Optimus F3Qを起動する、必要最低限の設定だけする。
次にカスタムリカバリー(Android OS)であるTWRPを導入するのだが、これはFlashifyを使用する。
まず、"Setting" -> "Security" -> "Unknown Source"をチェックして、Google Play以外からappを導入できるようにする。
Flashifyのapkを下記からダウンロード

LG Optimus F3Qまたしても(SDKのフォルダー)\platform-toolに移動し、

adb install (インストールするapk名)
で、どのアプリも導入可能だ。
Flashifyの導入が終わったら、TWRPをダウンロードし、micro SDカードにコピーする。
このmicro SDカードにはこのあとバックアップも取るので、16GBのものをお勧めする。
TWRPのLG Optimus F3Q用のものはこちらからダウンロードができる。

端末でFlashifyを起動して、"Recovery image" -> "Choose a file"として、micro SDにコピーしたTWRPを選択し、書き込む。
これで再起動した暁には、TWRPを使用可能になる。
通常、LG Optimus F3Qではリカバリーモードに入ろうとする(電源ボタン+音量下キーを押下したまま起動)すると、強制的にROMのリカバリーをしてしまう。
しかしTWRPが入った後は、リカバリーの確認に電源ボタンを2回押すと、TWRPに入ることが出来るのだ。

ROMのバックアップ

TWRPを使ってROMのバックアップを取る。
上記の方法でTWRPに入ったら、"Back-up"を選択し、"Storage"を"external_sd"に変更してバックアップを取る。

Titanium Backupを導入、いらないアプリを消す

Titanium Backupを導入する、ダウンロードは下記から、導入の方法は先のFlashifyと同様だ。

Titanium Backupを使うと、いらないプリインストールアプリを根こそぎ削除できる。
上記でバックアップも取ってあるので、気持ちよく削除してしまう。

Super SUを導入、unroot化する

一部のappはroot化した痕跡があると、起動できないようになっているようだ。
これを回避するため、最後にunroot化してroot化した痕跡を消す。
まずFlashifyとTitanium Backupを削除する。
次にSuper SUを導入する、ダウンロードは下記から、導入の方法は先のFlashifyと同様だ。

Super SUを起動すると、Saferootが導入したSuperuserを消すかどうか聞いてくるので、消してしまう。
その上で、Super SUの設定から"Full Unroot"を選択する。
これで、root化の痕跡が消せるはずだ。