Nexus7のroot化
昨日まででNexus7のホームとかアプリの導入までをひと通りやったわけですが、root化もいっちょやってやるかと思い立ちやってみました。以下作業メモです。
お約束
本メモの内容は無保証です。ブートローダのアンロック及びroot取得はメーカーのサポート外の作業となります。くれぐれもroot取得作業は自己責任で。
そもそもAndroidのroot化とは何か。
ざっくりと以下のサイトに簡単な説明があります。
Linuxをはじめよう!:Androidのroot化の仕組み/Root kitの製作方法 part1
というわけでAndroid端末のroot取得とは次の3ステップです。(上記サイトより引用)
- exploitとかを突いて一時的にrootを取得
- /systemをrwでリマウント
- rootを恒久化するsuとSuperuser.apkを導入
要は、suするためのコマンド、アプリを普段書き込むことができない/systemに配置するわけですね。ただし、メーカーによってはsuがあったら消すとかの対策モジュールが組み込まれてるので端末によってはroot取得が無理とかが発生するわけです。
Nexus7の場合、root取得の作業をほぼ自動で行えるツールが配布されているので今回はそれを利用します。
ツールキットの選択
Nexus7のツールキットは現在以下の2種類があります。
(1)はGUIベース、(2)はCUIベースのツールのようです。できることはほぼ一緒のようで好きな方を使えばいいやんとなりますが、今回はボタンをホイホイ押すだけでできるGUIベースの(1)を使います。
ちなみに、問題はないのか見てみると、サイトの下の方にこんな記述がありました。
Important notice – For users having problems rooting 4.1.2:
- Most users reported no difficulties rooting their 4.1.2 builds with the toolkit (just by selecting the correct android build/version in the pull down menu and pressing the root button) ? however if you are having problems try this solution: http://forum.xda-developers.com/showpost.php?p=32789382&postcount=1199
- I am not sure why it works for some users without doing this and for others this is needed. Hopefully I will figure it out soon so I can roll out a fix in v1.5.5.
- It seems that the issue may be related to USB 3.0 ports ? consider trying a USB 2.0 port instead.
とりあえずUSB3.0を使わなければ大丈夫、でしょう。多分。
実施環境
以下の環境で実施しました。
Nexus7の設定の確認
Nexus7の設定より次の設定を行います。
- USBデバッグをオン
- PCとの接続モードをPTPにする
PTPモード
設定 -> ストレージ -> 右上のメニュー -> USBでパソコンに接続
を開き、PTPモードにスイッチします。
ちなみに、MTPとPTPとありますが、MTPとPTPとはここによると、MTPはMedia Transfer Protocolの略でいわゆるマスストレージ、PTPはPicture Transfer Protocolの略でカメラとして認識させるモードとのことです。なんでAndroid2.0から微妙に言い方を変えてるんや…
ドライバのインストール
toolkitのInitial Setupよりドライバをインストールします。このドライバはAndroidの開発を行うときに入れるドライバそのものですね。基本的に画面の指示にしたがってやるだけですが、ドライバのインストールを確実にやるために既存のドライバは予め全部消しといてねと言われます。
デバイスドライバの起動やUSBデバイスの一覧&ドライバのアンインストールをツールキットから行えるのでやっておくとよいでしょう。ドライバのインストールが終わるとNexus7はAndroid ADB Interfaceという名前でデバイスドライバからは見えるようになります。
ちなみに、コマンドadb devicesやDDMSからも端末が見えるようになってるはずです。まぁ当たり前といえば当たり前なんですけど…
アプリのバックアップをとる
次の作業であるブートローダのアンロックを行うとNexus7は工場出荷状態まで戻されます。したがって後の環境構築を楽にするためにバックアップをとっておきます。これもtoolkitのbackupからできます。
ただ、僕の場合、全てのアプリのバックアップをとったつもりだったんですけどroot取得後にリストアしたら結構な数のアプリがバックアップが取れていませんでした。なんでだろ…
ブートローダのアンロック
ツールキットのUnlockから実施します。前述の通りNexus7が工場出荷前に状態が戻りますので注意です。基本的にボタンを押して待っているだけですが、途中でNexus7側の操作が必要になります。
こんな画面が出てきてUnlockしてもいいですか?と聞いてきます。もう戻れません!もちろんUnlockなのでカーソルをYesにして電源ボタンを押します。
暫く待つとNexus7が初期化され開封時の設定を行うように指示されます。これでアンロックは完了です。次のroot取得のためにひとまずホーム画面を出すところまで設定します。
ルート取得
続いてroot取得を実施します。ここもRootボタンを押してしばらく待つだけです。なお、カスタムのリカバリーツールを導入する場合はCustom Recoveryのチェックをオンにします。このバージョンのツールキットではTWRP(TeamWIN Recovery Project)が入るようです。
ちなみに僕はこのチェックボックスのオンを入れずにやってリカバリツールを入れずにルート化してしまったんですが、再度オンにしてリカバリツールを導入しています。
無事にroot取得が終わると、ドロワーにいくつかアプリが追加されています。重要なのは次の2つです。
これででroot取得作業は完了です。
アプリのリストア
ここまで作業が行えたらあとはアプリをリストアするだけです。Restoreボタンを押してさっきとったバックアップから戻してあげましょう。これで全ての作業は終了です。
で、どうする
これでカスタムROMの導入やrootが必要なアプリを導入することができます。また、すぐに戻せるように現在利用しているイメージをまるごとバックアップしておくとよいでしょう。その際、Nexus7は内蔵メモリしかないのでバックアップイメージはPCに残しておくと良いかもしれません。一つのイメージが大体1G程度いくようですし…