https://naba-san.hatenablog.com/


Xperia acroでrootを取る (2.3.3版)

時代はやっぱりrootですよね

http://xacro.net/x-acro-news/Article232/
この辺の情報を実践した時の実践記録です。特にPC Companionの動きはバージョンによって違うようなのでお気をつけて‥

[追記] Android 2.3.4なXperia向けに、新しく記事を作成しました。

前準備

この辺は説明省略。

1. JDKAndroid SDKの導入
2. PC Companionの導入
http://www.sonyericsson.com/cws/support/mobilephones/downloads/subject/pccompanion/xperiax10mini?cc=gb&lc=en
ref: http://www.kuroguro.net/blog/2011/03/29/pcc-install/
3. 色々バックアップ
・spモードメール
・iD
・App Backup Res

オリジナル ファームウェアのバックアップ

1. PC Companionで初期化

PC Companionで初期化を実行すると,Sony EricssonからPCのローカルドライブ上にファームウェアが落ちてくる。
格納先はPC Companionのバージョンによって異なる様子。PC Companion 2.0とWindows 7 x86では下記に格納された。

格納パス:
C:\ProgramData\Sony Ericsson\Update Engine\db\xxxxxxxx\block_fs\

対象ファイル名:

  • FILE_278020564 (66KB)
  • FILE_278230298 (16,599KB)
  • FILE_278230312 (168,700KB)

纏めて,どこか作業しやすいフォルダにコピーしておく。

2. ファームウェアの復号化ツール

まずはローカル上のファームウェア(暗号化済み)を復号化する為,次のツール(ConvertTool.zip)を入手する。
http://forum.xda-developers.com/attachment.php?attachmentid=441265&d=1289780676
これを展開するとSeusDecrypt.bat、SeusEncrypt.batなどを含むファイル群が作成される。
ツールはJavaで動作する為,使用にあたってはJavaをPathに通しておく必要がある。

3. loader.sinの抽出

3.1 FILE_278020564 を引数にして SeusDecrypt.bat を実行する。 → FILE_278020564.tgz が作成される。
3.2 FILE_278020564.tgz を7zipとかで展開する → FILE_278020564.tar が作成される。
3.3 FILE_278020564.tar を loader.sin に名前を変える。
3.4 FILE_278020564.tgz を削除する。

フォルダのファイル構成が次のようになっていればおk

FILE_278020564 (66KB)
FILE_278230298 (16,599KB)
FILE_278230312 (168,700KB)
loader.sin (99KB)

4. FlashToolによるバックアップファームウェアの作成

PC Companionのファームウェアから,自由に使用できるファームウェアを作成します。

XDAから,ファームウェアのライターを入手します(FlashTool+0.3.0.0.exe)。

http://forum.xda-developers.com/showthread.php?t=920746

書き込みのみならずファームウェアの操作なども可能のようで、Javaで動作する便利ツールです。

FlashToolの実行

FlashTool+0.3.0.0.exeを展開し,X10FlashTool.exeを実行します。

4.1 ファームウェアの読み込み
先ほどのファームウェアを読み込む。
[Advanced] -> [Descript Files] を開き,Source folderで,オリジナルファームウェアが保存されているフォルダを選択する。
Files上に,先ほどの4ファイルが表示される。これらを全てFile to convertへ移動させてOKをクリックする。(処理に少し時間がかかる)

4.2 ファームウェアの変換・保存
読み込みが終わると,フォルダリストが表示される。
Folder listにフォルダリストが表示されるが,先と同じ手順でFirmware convertへ移動させる。
このとき,Device, Version, Brandingの項目を次の通り埋めること。

Device: SO-02C
Version: 3.0.1.F.0.131
Branding: docomo

全て終わったら,OKをクリック。
コンバートが完了したら,FlashToolのカレントディレクトリのfirmwares内に「SO-02C_3.0.1.F.0.131_docomo.ftf」ができあがってる。こいつが目的の代物。



4.3 後始末
オリジナルファームウェアが保存されているディレクトリがゴミだらけで大変なことになっているので,FlashTool実行前の4ファイルだけを残して全部消す。特にloader.sinは後々使用するので慎重に。

Xperia arcファームウェアを書き込む

一度arc化してからrootを取る為,arcのファームウェアを入手し書き込む。

1. ファームウェアの入手

「SO-01C_3.0.D.2.79_docomo.ftf」とか「DoCoMo 3.0.D.2.79.zip」とかでググる

2. arcの修正ファームウェアの作成

acroのファームウェアから生成したloader.sinと,arcのファームウェア本体を1つのフォルダに纏める。

loader.sin (99KB) ※acroから抜き出し
FILE_277848811 (66KB) ※以下arc用
FILE_277853959 (16,541KB)
FILE_277855560 (151,177KB)

3. FlashToolで修正ファームウェアを作成

基本的な手順はacroと同様。Device, Version, Brandingは下記の通り。

Device: SO-01C
Version: 3.0.D.2.79
Branding: docomo

4. デバッグモードの接続

後のファームウェア書き込み中に本体操作が不可能になる場面がる為,adbでデバッグモード接続をしておく。
また,必ずadbコマンドによる端末操作ができる事を確認しておく!
デバッグモード設定の覚え書き)
・「アプリケーション」 > 「提供元不明のアプリ」を「ON」
・「開発」 > 「USBデバッグ」を「ON」
(adbの認識確認)
コマンドプロンプトで「adb devices」を実行すると,デバイス一覧が表示される。

5. FlashToolによるファームウェアの書き込み

FlashToolの「Flash」ボタンをクリックすると,firmwaresフォルダに存在するファームウェアの書き込みメニューが表示される。
「SO-01C」の「system.sin」と「kernel.sin」を選択し,「Wipe User Data」のチェックを外してOKをクリックする。
書き込み終了の目安は,ログの下から4行目に「Flashing finished.」が表示されている状態。

※補足:ここでWipe User Dataのチェックを外さないと,設定データが飛んでしまう為,後で説明するadbによるデバッグ接続に支障が生じる。
チェックを外し損ねた場合,FlashToolで「system.sin」と「kernel.sin」をSO-02Cのものに戻し,再度5をトライする。

6. acrobreakの転送から実行

起動画面がNTT docomoのロゴで停止するので,この間にadbで接続できる事を確認する。接続できない場合は5の補足に戻る。
acrobreakを入手,保存する。
https://docs.google.com/leaf?id=0B8LDObFOpzZqZDExZmQ0YzItZTg5Yi00ZDNkLWIzMzItZmEyZGMxM2NhY2E4&h&pli=1
保存先をカレントディレクトリにしたコマンドプロンプトを開き,次のコマンドを実行

adb push acrobreak /data/local/
adb shell chmod 755 /data/local/acrobreak
adb shell /data/local/acrobreak

要するにacrobreakを転送して実行させてる感じ。

7. rootの取得と書き換え

adb shell
$ data/local/tmp/sh
# echo 'ro.kernel.qemu=1' > /data/local.prop

8. firmwareを書き戻す

FlashToolからSO-02Cの「system.sin」と「kernel.sin」を書き込む。書き込みが終わったらケーブル抜いて再起動。

9. rootの再取得

すばらしいツールがあるようなのでそちらを利用(install-Superuser.zip)。
http://yu-eins.toh.info/archives/2011/08/31/0508
ダウンロードしたら一式解凍し,デバッグモードが有効になっている事を確認する。
解凍したフォルダのinstall.batを実行し,「再起動します」が表示されたら端末を再起動する。

再起動から復帰したら,superuser.pakがインストールされた状態で復帰する。

rootedなAndroidのパッケージ管理

必要なパッケージと要らないパッケージ(古いFlashPlayerとか)を管理するのに便利なのが「ADB Mask Controller」.
rootedなAndroid端末をadbでPCと接続して,PC上からパッケージの転送を含む,各種管理が行える.出所がよく判らないのは,まぁそんなモンですね・・.
http://www.mediafire.com/?1d156uw9bt2tobn
「Push and Pull」の「Transfer」で,System Apps <-> User Apps間のアプリケーション移動が可能.
各種操作時にはSuperuserで昇格を求められる.昇格のタイミングが非常にシビアなので,昇格許可を記憶させておくのが無難.

個人的にシステムアプリじゃない方がありがたいアプリのリスト

(単純に必要ないもの)
・chinesetextinput.apk (Chinese Input)
・JapaneseIME.apk (POBox Touch)
facebook.apk (Facebook)
・jp.co.labelgate.moratouch.apk (mora touch)

(削除にあたってやや注意が必要なもの)
・SEMCSetupWizard.apk (セットアップガイド)
※初期化後に一度もセットアップガイドを実行していないと,システムUI全般がおかしい,カメラ機能がフリーズ,USB接続ができないなど,様々なトラブルが起きる。後から入れ直せば元に戻るので,初期設定を済ませてから削除すること。
USBにも不具合を来す為,トラブルが起きている環境ではadb接続に時間がかかる。知らずにハマると復旧の際に焦る事になるが,そのまま3分程度待っておけばadb接続できるので我慢強く待っておく。
・Vending.apk -> com.android.vending-1.apk (マーケット)
最新版入れ直すつもりで消したが,古いバージョン残さずに入れてもトラブルが起きるばっかりで全く良いことが無かった。

(後で最新版を入れ直すもの)
・AdobeFlashPlayer.apk (Adobe Flash Player)
・sp_mode_mail.apk (spモードメール, jp.co.nttdocomo.carriermail-1.zip)
Gmail.apk (Gmail)
YouTube.apk (YouTube)
・Maps.apk (Google マップ)

apkの編集に便利なのが「Apk Manager」.apkの展開や再パッケージングなどに使用する.
http://forum.xda-developers.com/showthread.php?t=695701

Xperiaのトグルスイッチ関係

扱う内容はxacro.netさんのトコの実践記録的な何か.英語読まなくて良いなんてすげぇ有り難い.

http://cameme.org/root/Article479/
http://xacro.net/custom/Article332/
http://xacro.net/root/Article354/

adb経由での/system/フォルダの際はおまじないが必要.

# mount -o rw,remount -t yaffs2 /dev/block/mtdblock0 /system

busyboxのコマンドは頭にbusyboxを入れて実行する.
.apkの書き換え時はchmodでの権限変更も忘れずに

# busybox cp -R hoge fuga
# chmod 644 hoge

書き換えが終わったら書き換えを反映させ,再起動する.

# sync
# reboot

作業中はステータスバーが消えたりする事があるので,MTP/MSC転送は使わない方がよさげ.ひたすらpushとかpullとか.

<Quickpanelの抽出元とか>
http://forum.xda-developers.com/showthread.php?t=1209891
TEAM v2.zipを展開するとsystem\app\SystemUI.apkが出てくる.

こいつをそのままコピーしてしまってOK.適用先は「/system/app/SystemUI.apk」
このとき,acro側にある「SystemUI.odex」が邪魔らしいのでrenameとかで適当に対処しておく.また,オリジナルの「SystemUI.apk」もきちんと保存しておくこと.


<文字色を変更する場合>
このSystemUI.apkは,ステータスバーが全て透過するが,文字色が非常に見づらい状態になる.
「/system/framework/framework-res.apk」をローカルに転送し,「SystemUI.apk」と合わせて準備.

http://uot.dakra.lt/pickup/
この辺で改造できる.




Link: Xperia2011

Xperia 2011 seriesのAndroid 2.3.4アップデート関係

rooted Xperia 2011 series の Android 2.3.4 アップデート関連情報にコンテンツを移しました。