Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

Xperia Tablet Z (SGP312)のroot化 - PCを使わずにAndroid端末をroot化する。

f:id:espio999:20180920004621p:plain
Xperia Tablet Z (SGP312)は海外で配布されているROMを用いることで、Lollipop (Android 5)をインストールすることができます。さらにLineage OSを適用することで、Nougat (Android 7)まで対応することができます。
LineageをインストールするにはTWRPを導入する必要があるのですが、そこからimgファイルを適用するためには、端末をroot化しなければなりません。

このエントリーではroot化の手順を紹介します。次の前提での作業です。

  1. 基本的にPC操作せず、Xperia Tablet内での操作だけで完結する。
  2. KingRootでroot化する。
  3. SuperSuでrootを置換する。

Xperita Tablet ZはPCに接続する必要はありません。タブレット端末だけで完結できる作業です。
PCはファイルのダウンロードやファイルの修正にだけ利用しますが、その利用は任意です。
またXperia Tablet Zと明記してはいるものの、KingRootが対応している機種であれば、この手順は機種を問わず、共通で機能するはずです。

準備

Google Playからのダウンロード

必要なアプリケーションをGoogle Playからダウンロードします。次のアプリケーションが必要です。

  • ターミナル
  • ファイラー
  • ルート・チェッカー

各自、お好みのものを利用すればよいのですが、特にファイラーについては制約があります。ユーザー領域のフォルダだけでなく、ルート・フォルダなど、システム領域を参照できるものが良いです。
私は次のアプリケーションを用いました。このエントリー内のキャプチャ画像も、それらの画像です。
play.google.com
play.google.com
play.google.com

Google Play以外からのダウンロード

Google Playからダウンロードできないものは、webサイトからダウンロードします。端末から直接ダウンロードしても良いですが、事前にPCなどでダウンロードしておいたものをmicro SDにコピーして、端末に装着しておくのが良いと思います。
必要なファイルです。

KingRoot

root化に用いるツールです。kingroot.netからダウンロードできる最新版は5.3.7ですが、利用しません。別のサイトから古いバージョンをダウンロードします。理由は、

  • Xperia Tablet Zが古い端末なので、KingRootが最新版である必要がない。
  • KingRootは諸々、悪い評判があるため、root化成功後、SuperSuで置き換える。
  • SuperSuでの置換作業に実績のあるバージョンを適用する。

色々調べた結果、次のバージョンを利用することにしました。

Kingroot_4.9.7.20161114

ファイルは次のサイトからダウンロードします。
androidmtk.com

SuperSu

最終的なrootになります。次のファイルをダウンロードします。
www.mediafire.com

ダウンロードしたファイルを展開すると、mrwというフォルダが生成されます。この中のroot.shに些細な誤りがあるので、ここで修正しておきます。17行目の

cat sdcard/mrw/busybox > /system/bin/busybox

を、次のように直します。

cat /sdcard/mrw/busybox > /system/bin/busybox

sdcardの直前に"/"を加えています。

mrwフォルダを任意の場所へコピーするのですが、roo.shの記述に従うならば、次のパスが所定の場所です。/sdcard直下にmrwファイルをコピーすることになります。

/sdcard/mrw/

もし任意のパスへコピーするならば、root.sh内の"/sdcard/mrw/"を、任意のパスに沿った記述に置換します。

事前確認

提供元不明のアプリ

KingRoot、SuperSuはGoogle Playからダウンロードできないため、端末の設定画面から「提供元不明のアプリ」の導入を許可しなければなりません。次の画面は英語ロケールのものではありますが、「UNKNOWN SOURCES」に該当する箇所です。
f:id:espio999:20180920003337p:plain

内部ストレージの空き容量

具体的な容量は定かではありませんが、KingRootのインストール、実行には、それなりの空き容量が必要だという情報がありました。インストール失敗に備えて、不要なアプリケーションやファイルは削除するなどの事前措置をしておくと良いです。

root化作業

KingRootの実行

ダウンロードしたファイルを実行します。まずインストール画面が表示されます。ダウンロードしたファイルを実行します。まずインストール画面が表示されます。
f:id:espio999:20180920003414p:plain

次の画面では「Install anyway (unsafe)」を選択します。
f:id:espio999:20180920003430p:plain

私が利用しているファイラーからの確認です。この画面は、ユーザーの環境によって異なります。「許可」に該当するものを選択します。
f:id:espio999:20180920003449p:plain
また、今後の作業でも類似の許可を求める画面が表示されるのですが、このエントリーでは逐一紹介しませんので、各自で「許可」してください。

インストールが完了したので「OPEN」で実行します。
f:id:espio999:20180920003459p:plain

「TRY IT」で先に進めます。
f:id:espio999:20180920003516p:plain

「OPTIMIZE NOW」を選択し、しばらく待ちます。数値は環境によって異なるかもしれません。
f:id:espio999:20180920003538p:plain

この画面でKingRootの作業は終了です。数値は環境によって異なるかもしれません。
f:id:espio999:20180920003547p:plain

Root Checkerによる確認

Root Checkerを起動します。「CHECK」を選択します。
f:id:espio999:20180920003620p:plain

root化されていることが確認できました。SU InfoのVersionに

3.64:kinguser_su

と表示されています。KingRootによってroot化されていることがわかります。
この画面でRoot Checkerによる作業はいったん、終了です。
f:id:espio999:20180920003635p:plain

root.shの実行

先に紹介したmrwフォルダが所定のパスへ配置されていることを確認します。私の場合はsdcardフォルダ直下です。
f:id:espio999:20180920003655p:plain
sdcardフォルダは、実際には次のパスへのシンボリックリンクなので、画面に表示されているパスと異なるのですが、問題ありません。

/storage/emulated/legacy/

Terminal Emulator for Androidを起動し、次のコマンドを実行します。

su
sh /sdcard/mrw/root.sh

コマンド中の"/sdcard/mrw/"は、mrwフォルダをコピーした場所によって異なることに注意してください。
f:id:espio999:20180920003723p:plain

FailureやErrorを生じさせながらも実行中にSuperSuが立ち上がります。最初の確認です。「CONTINUE」を選択します。
f:id:espio999:20180920003733p:plain

次の確認では「NORMAL」を選択します。
f:id:espio999:20180920003749p:plain
すでにTWRPがインストールしている場合でも、ここでは「NORMAL」を選択します。

最後の確認です。「REBOOT」を選択します。
端末が再起動します。
f:id:espio999:20180920003801p:plain

root化再確認

起動後、アプリケーションの一覧をアルファベット順で確認すると、KingRootが表示されていないことがわかります。
f:id:espio999:20180920003830p:plain

改めてRoot Checkerを起動し、チェックします。SU InfoのVersionに

2.49:SUPERSU

と表示されています。同時にBusyboxもインストールされていることがわかります。
SuperSuによるroot化が成功しました。
f:id:espio999:20180920003849p:plain