注意

  • 以下、成功を保証するものではありませんので、適用は自己責任にてお願いします。
  • また、ルート化が原因かは不明ですが通話終了後に再起動する問題が発生しています。


ポイント

  • ①C1605では、bootloaderのアンロックをfastbootで行うと起動ループに入るという問題がある。 この問題は再現性がある。 よって、FlashToolよりアンロックする。

    ②三つのモードがある:
    ⅰ.Fastモード: 電源オフ状態で、ヴォリューム・アップを押しながらUSB接続。
    ⅱ.Flashモード: 電源オフ状態で、ヴォリューム・ダウンを押しながらUSB接続。
    ⅲ.SDKモード: 通常起動し、USBデバッグ・モード(設定→開発者向けオプション→ON→
    OK→USBデバッグにチェック→OK→ホーム)でUSB接続。 ADBモードとも言う。 SDKマネージャーからDLしたデバドラ、ADB Interfece Driverが必要。

    ③バッチ・ファイル、および、バッチ・ファイルが参照しているフォルダーFilesをadb.exeがあるディレクトリーに置く。



ルート化の手順:


文鎮化しても http://note.chiebukuro.yahoo.co.jp/detail/n352408 より出荷時の状態にリカバリーできるので恐れずルート化にチャレンジすればよい。


以下、http://cubeundcube.blogspot.jp/2013/12/xperiarootgx-amiku.html によるルート化を、ある程度の理屈を踏まえて実行できるよう平易に説明した私的備忘録。 応用可能な機種については同サイト参照。


  1. SDKをインストールしてコマンド・プロンプトからadbコマンドを実行できるようにする
    ①http://developer.android.com/intl/ja/sdk/index.html#top→
    スクロール・ダウンしてSDK Tools OnlyからWidowsならinstaller_r24.4.1-windows.exe→
    スクロール・ダウンして
    I have read and agree with the above terms and conditions にチェック→
    installer_r24.4.1-windows.exeボタン→実行→ はい(Y)→
    Andoroid SDK Tools Setupポップ画面のNext >→
    Java SE Development Kit画面のNext >→
    Choose Users画面、Install just for meにチェックしてNexe >→
    Choose Install Location画面のDestination FolderのDestination FoldderはデフォルトのままC:Users(ユーザー名)AppDataAndroidandroid-sdkでNext >→
    Install→10分前後待つ→CompletedになったらNext >→Finish→
    ②Android SDK Managerが立ち上がるので、ToolsフォルダーのAndroid SDK Tools、
    Android SDK Platform-tools、および、ExtrasフォルダーのGoogle USB Driverにチェック→
    余計なチェックを外す→Install 3 packages→
    Accept LicenseにチェックしてInstall→インストール完了後にポップ画面をClose

    ※USBドライバーは、
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdkextrasgoogleusb-driver のandroid_winusb.inf に、
    SDK Managerは、
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdk にインストールされる。


  2. USBドライバーのインストール
    ①スタート→コントロールパネル→ハードウェアとサウンド→デバイスマネージャー、ここでポータブルデバイスの下にXperia E dualがあることを確認→
    ②C1605を通常起動→設定→開発者向けオプション→ON→OK→USBデバッグにチェック→OK、するとデバイスマネージャーのリストがリフレッシュされる→ホーム
    ③デバイスマネージャーにXperia E dualの他にに追加されたC1605と思われるものを探す、ここではSony so0101下のSony so0101→右クリック→プロパティ→ドライバー・タブのドライバーの更新→コンピューターを参照してドライバー ソフトウェアを検索します→次の場所でドライバー ソフトウェアを検索します、で
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdkextrasgoogleusb_driver
    を参照して次へ(N)→Windowsセキュリティ画面のこのドライバー ソフトウェアをインストールします→デバイスマネージャー上の表示がSony so0101・Sony so0101 ADB Interface driver、もしくは、Android Phone・Android ADB Interfaceに変わる→デバイスマネージャー、コントロールパネルを閉じる

    ※USBは接続したままにする。


  3. adbコマンドの実行確認
    ①adb.exeとfastboot.exeは、
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdkplatform-tools にあるので、スタート→すべてのプログラム→アクセサリ→コマンドプロンプト→コマンド・プロンプトから adb.exe があるディレクトリーへ次の手順で移動。 ステップ・バイ・ステップで下位ディレクトリーに移動しているが、後述するpathを切ることでコマンドプロンプトがどのディレクトリーを指していてもadbを実行できるようになる。

    cd
    cd users
    cd (ユーザー名)
    cd appdata
    cd local
    cd android
    cd android-sdk
    cd platform-tools
    dir

    adb.exeがリストされていることを確認→adbで何やらずらずらと表示されることを確認→
    adb devicesを2~3回実行→以下の表示を確認→

    1回目
    * daemon not runninng. starting it now on port 5037 *

    * daemon started successfully *
    List of devices attached
    3e2a50**        device

    2回目以降
    List of devices attached
    3e2a50**        device

    ※3e2a50**は端末のシリアル番号でコンピューター→端末のプロパティで確認することができる。 List of devices attachedしか表示されなかったら認識されていない。

    ※入力待ちのコマンドプロンプトで→キーを押すと直前に入力したコマンドが一文字づつ再入力される。 何かコマンドを実行した結果のレスポンス表示をackアック
    (acknolegment返答の略)と言う。

    ②fastbootで何やらずらずらと表示されることを確認→fastboot devicesで何のackも帰ってこないことを確認→
    ③adb reboot→再起動することを確認

    ※コマンド入力は大文字・小文字は無関係。 cd はルート・ディレクトリーに戻る、
    cdはchange directoryで指定した下位ディレクトリーへの移動、cd..はひとつ上のディレクトリーに戻る、dirはdirectoryのコンテンツ表示、AppDataは隠しフォルダーなので(ユーザー名)のディレクトリーでdirを掛けてもリストされないがcdで移動することは可能。 adbエンターでadb.exeが実行され、exitでコマンドプロンプトが閉じる。


    Pathを切る:
    基本的にコマンド・プロンプトに表示されているディレクトリー(=フォルダー)内にあるファイルしか実行できない。 よって、今回のようにネストの深いところにあるadb.exeを実行する為には何回もcdを掛けなくてはならない。 しかし、Pathを切っておけば現在示しているディレクトリーに指定のファイルが無い場合、設定したpathを探して実行してくれる。 Pathは複数設定でき、ディレクトリーごとにセミコロンで区切る。 コマンドプロンプトでpathを実行すると現在設定されているpathが見られる。 この末尾に
    adb.exeのあるディレクトリー、
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdkplatform-tools
    を追加する。 なお、新規のpathを確認する為にはexitで一旦コマンドプロンプトを閉じてから開きなおさなければならない。
    ①スタート→コントロールパネル→システムとセキュリティ→システム→システムの詳細設定→
    ②詳細設定・タブの環境変数→システム環境変数のPath→編集(I)→現在のpathの最後をセミコロンで区切り次を追加
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdkplatform-tools;
    →OK→OK→OK→コントロールパネルを閉じる→コマンドプロンプトからpath→追加されたpathを確認→cd →adb→ルート・ディレクトリーからもadbが実行できることを確認


  4. fastbootコマンドの実行確認(省略してステップ5に進んでもよい)
    ①端末電源オフ→USB切断→ヴォリューム・アップを押しながらUSB接続→LEDの青点灯を確認→
    ②コマンドプロンプトでfastboot→何やらずらずらと表示されることを確認→fastboot devicesで
    PSDN:UNKNOWN&ZLP fastbootと表示されることを確認→fastboot rebootで
    rebooting...
    finished. total time: 0.01xxs
    とメッセージが出てコマンド・プロンプトに戻り、数秒後にLEDが青から緑に変わる→端末の電源オン

    ※10秒待ってもfinishedにならないようならctrl+C(ctrlを押しながらC)でコマンド・プロンプトに戻るので再度fastboot rebootを実行する。

    ※USBは接続したままにする。


  5. Bootloaderのアンロック
    かなり怪しいがざっくりこんな感じなのでは。 

    Windowsは起動初期にboot deviceの選択ができたりsystem recoveryに入ったりできるが、
    AndroidはBootloaderをアンロックしない限り通常起動しかできない。 通常起動の場合、電源オンでまずBootloaderが立ち上がり、そこからBootに引き継がれてSystemが起動する。 

    Bootloaderをアンロックすると通常起動の他にSystemのRecoveryモードに引き継ぐこともできれば、Bootloaderそのものに変更を掛けてルート化できるようにもなる。 ルート化とは要するに隠しフォルダーが見えるようになること。 Bootと
    Recoveryを合わせてKernelと称す。 BootloaderとKernelは連携していて、機種によっては一旦古いKernel(ホールあり)に戻してルート化適用のBootloaderに焼きなおしてから元のKernel(ホールなし)に焼き戻す例も見られる。 通常はUserDataエリアにしかアクセスできないが、ルート化するとルート・ディレクトリーまでアクセスできるようになる。

    Bootloader
    Boot (Kernel)
    Recovery (Kernel)
    Cache
    System
    UserData(ルート化無しにアクセスできる部分)

    しかし、bootloaderをアンロックしたC1605に対してコマンド・プロンプトから
    adb reboot bootloaderを実行してもbootloaderを起動することはできない。 adb rebootを実行したとき同様再起動するだけだが、ルート化の障害にはならない。 
    参考: http://andmem.blogspot.jp/2012/10/bootloader.html

    http://chimtty.blogspot.jp/2012/07/android.html



    アンロックの手順: 
    Ⅰ.アンロック・コードの入手:
    ①電話→*#06#をダイヤル→IMEI(端末識別番号)をメモ→OK→
    ② http://developer.sonymobile.com/unlockbootloader/ →スクロール・ダウン→プルダウンからXperia E→Continue→
    ③メアド記入→メアド記入欄の下にチェック→Submit→
    ④sonymobileから届いたメールを開く→本文のClick here to preceed→ブラウザーに
    IMEI verification画面が開くのでIMEIを記入→記入欄の下2か所にチェック→Submit→
    ⑤Unlock the boot loader画面に変わる→Your unlock code:をメモした後にコピー
    ※この画面に書かれたfastbootによるアンロックを行うと、起動ループに入るという再現性のある問題が発生する。
    Ⅱ.FlashToolのインストール:
    ⑥http://www.flashtool.net/downloads.php→Previous release (0.9.18.6)のWindows→
    UsersCloud→左に↓表示のある青のDownloadボタン→保存
    ※それ以外をクリックすると不適切サイトが開く。 一番大きなボタンを使っても不適切サイトが開いた場合は何回もリトライする。 また、IE11では保存へ進めるが
    Chromeでは「この先のサイトには有害なプログラムがあります」の赤画面になってDLできなかった。
    ⑦保存したflashtool-0.9.18.6-windowsを実行してFlashToolをインストール
    Ⅲ.FlashToolからアンロック:
    ⑧FlashTool→ツールバーのBLU→USB接続のポップ画面→ヴォリューム・ダウンを押しながらUSB接続→ポップ画面にIMEIを入力→Unlock Codeをペースト→Unlock→
    INFO - Unlock finishedメッセージを確認→ポップ画面Close→USBを抜く
    ※BLUはBootLoaderUnlockの略。 同じ手順でRelockもできる。
    ※IMEIとUnlock Codeは保持されるのでFlashToolの再起動2度目以降は入力不要。
    ⑨電源オン→電話→*#*#7378423#*#*→Service info→Configurationの
    Rooting status:でアンロック状態を確認→ホーム

    アンロック状態: Bootloader unlock: Yes

    ロック状態: Bootloader unolock allowed: Yes (アンロックを許可するという書き方)

    ※電源オン直後に電話を立ち上げると表示されないことがある。

  6. ルート化リソースの入手
    ①http://cubeundcube.blogspot.jp/2013/12/xperiarootgx-amiku.html→必要物資の
    rootkitXperia_20131207.zip (SkyDrive)→zipフォルダーをダブルクリック→保存(S)→フォルダーを開く(P)→rootkitXperia_20131207をダブルクリック→
    rootkitXperia_20131207をダブルクリック
    ※最初に開いたフォルダーは、C:ユーザー(ユーザー名)ダウンロード。
    ②installをデスクトップにコピー→右クリック→編集(E)→このバッチ・ファイルが何をやっているか以下の※を部分を参照してなんとなく理解しておく。 スキップして③へジャンプしてもよい。

    @echo --- Xperia rootkit 2013/12/07 ---
    @echo;
    @echo waiting for device...
    ※echoはコマンドプロンプトにメッセージを表示するコマンド。
    @adb wait-for-device
    ※デバイスがオンラインになるまで待つ。
    @adb push filesgetroot /data/local/tmp/
    @adb push filessu /data/local/tmp/
    @adb push filesSuperuser.apk /data/local/tmp/
    @adb push filesusybox /data/local/tmp/
    @adb push files0stop_ric /data/local/tmp/
    @adb push filesinstall_tool.sh /data/local/tmp/
    ※PCのfilesというフォルダーにあるgetrootを含めて6つのファイルを端末の
    /data/local/tmp/というディレクトリーにpush(コピー)。 ここで、install.batと同じディレクトリーにあるFilesフォルダーを開いてみるとこれら6つのファイルの存在が確認できる。 よって、install.batとFilesフォルダーはadb.exeと同じディレクトリーになければならないと悟る。
    @adb shell "chmod 0755 /data/local/tmp/getroot"
    @adb shell "chmod 0755 /data/local/tmp/busybox"
    @adb shell "chmod 0755 /data/local/tmp/install_tool.sh"
    ※3つのファイルを実行できるように権限変更。
    @echo;
    @echo getroot start.
    @adb shell "/data/local/tmp/getroot /data/local/tmp/install_tool.sh"
    ※一時的にルートを取得するgetrootとルート化するinstall_tool.shを実行。
    @echo;
    @echo removing temporary files...
    @adb shell "rm /data/local/tmp/getroot"
    @adb shell "rm /data/local/tmp/su"
    @adb shell "rm /data/local/tmp/Superuser.apk"
    @adb shell "rm /data/local/tmp/busybox"
    @adb shell "rm /data/local/tmp/00stop_ric"
    @adb shell "rm /data/local/tmp/install_tool.sh"
    ※echoに書いてある通りで最初にpushしたファイルの削除。
    @echo;
    @echo rebooting...
    @adb reboot
    ※端末の再起動。
    @echo waiting for device...
    @adb wait-for-device
    ※デバイスがオンラインになるまで待つ。 要するに再起動完了を待つ。
    @echo;
    @echo --- all finished ---
    @pause

    ③ここからが本番。
    C:Users(ユーザー名)Downloads ootkitXperia_20131207.zip ootkitXperia_20131207
    にあるinstall.batとFilesフォルダーをadb.exeのある次にコピーする。 
    C:Users(ユーザー名)AppDataLocalAndroidandroid-sdkplatform-tools
    ④設定→開発者向けオプション→ONでUSBデバッグにチェックを確認→ホーム
    ⑤adb devices→次のackを確認
    List of devices attached
    3e2a50**        device
    ⑥adb.exeのあるフォルダーにコピーしたinstall.batをダブルクリック
    バッチ処理中のアック・サンプル。root-1.png⑦C1605にAndroidのアップグレード中の表示→アプリのリストにSuperSUがあることを確認→設定→開発者向けオプション→OFF→ホーム


  7. ルート化の確認
    Playストア→ESファイルエクスプローラをインストール→開く→初期画面はsdcardフォルダー、つまりUserData領域が表示されているが、ツールバーのsdcard左にある/(ルート・ディレクトリーの意)をタップしてツールバーに”端末”と表示されればルート化されている。 同アプリは本体メモリーから内部ストレージに移動する。

    ※Playストアが見つからないというエラーが出た場合はリトライでリカバリーされる。

    また、Playストア→uninstallを検索→システムアプリ削除をインストールして立ち上げ、プリ・インストールされているアプリがリストされていればルート化されていることが確認できる。 C1605のルート化で最も効果があるのは、バックグラウンドで勝手に動く不要なアプリの削除によるパフォーマンス向上と、使わないプリ・インストールされたアプリの削除による本体メモリーの解放なので、このアプリは便利。

    削除されたアプリは本体メモリーから内部ストレージにあるゴミ箱に移動される。
    ※ゴミ箱:/sdcard/jumobile/recyclebin/

    削除した結果動作がおかしくなった場合、ツールバーにあるリサイクルマーク表示→戻したいアプリにチェック→Restore、で元に戻る。 また、Deleteすると内部ストレージからも削除される。 Windowsのゴミ箱を空にするのと同じ。



    参考:
    adbコマンド
    http://chimtty.blogspot.jp/2012/04/galaxy-nexusroot-galaxynexusjp-sc04d.html
    http://forum.xda-developers.com/showthread.php?t=619153

    fastbootコマンド
    http://chimtty.blogspot.jp/2012/03/fastboot-sc04d-galaxynexusjp.html

    bootの焼き方 fastboot boot boot.img
    FTFの焼き方 fastboot flash boot *.elf
    FTFの構成例: C1605_11.3.A.3.1_CE.ftf
    amss.sin
    amss_fsg.sin
    cache.sin
    elabel-C1605-row_201310181930.1_private.sin
    fota0.sin
    fota1.sin
    kernel.sin
    loader.sin
    modem_fs1.sin
    modem_fs2.sin
    partition-image.sin
    preset1.ta
    system.sin
    userdata.sin
    ※ルートを取るのに新旧カーネルが必要な場合は、FTFからkernel.sinを抽出すればよいと思われる。

このノートのライターが設定した関連知恵ノート

  • 文鎮化したExperia C1605の初期化方法(他機種応用可)
  • Xperia C1605/C1505 設定メモ