kilin> how to > Xperia Ray (SO-03C) 白ロム - ICS, root, セルスタンバイ対策, テザリング対策

Xperia Ray (SO-03C)

(2013.3.31)

他のXperiaたちはこちら:Xperia SX (SO-05D)Xperia A (SO-04E)


SO-03C白ロム

アマゾンなどでAndroid携帯Xperia Ray(SO-03C)を1.5万円くらいで買うことができる。これにMVNOのSIMを挿入して,説明書通りにモバイルネットワークのアクセスポイント名を設定すれば,すぐに,通話とテザリング以外はAndroid 2.3端末として使うことができる。
ところが,通話はもともとする気がないのでいいとして,自分はIDEOSからの乗り換えなので,テザリングができないのは悔しい。
Xperiaでテザリングする方法は2つあるらしい。
  1. Androidのバージョンを2.3.4(4.0.1.C.1.9)にダウングレードして,rootをとって,設定ファイルを書き換える方法。
  2. Androidのバージョンを4.0 (ICS)海外向けにアップグレードする方法。これはrootをとったりしなくても,そのまま素直にテザリングができるが,日本語フォントが汚くなるので,rootをとって日本語フォントをインストールする必要がある。
通話が念頭にない自分は,2のほうが,OSのバージョンは上がるし,作業量はすくないし,何かと前向き。2の方法を試すことにする。
いずれにしても,作業前にSO-03C_4.0.1.C.1.9_docomo.zipを入手しておくこと。このファイルがあれば,Androidのバージョンを白ロムを買った時の状態に戻せる。

ICSの導入

  1. Sony Mobileのサポートページからアップデートサービス(自分が使ったのはUpdate_Service_Setup-2.12.8.23.exe)をダウンロードしてPC(自分の場合はWindows 7 32bit)にインストールする。このソフトは直接は使わないがインストールしておかないと以下の作業ができない。
  2. Flash tools(自分が使ったのはflashtool-0.9.5.0-windows.exe)をPCにインストールする。
  3. 海外向けROM(Android 4.0, ST18i_4.1.A.0.562.zip)を解凍して,ftfファイルをFlashToolのfirmwaresフォルダにコピーする。
  4. Flash Toolを起動して,稲妻マークのボタンをクリックする。
  5. Mode Selectorが出てくるのでFlashmodeを選択し,OKをクリックする。
  6. Fiemware Selectionが出てくるので、ST18iの4.1.A.0.562を選択する。
  7. USBケーブルを挿すようにうながすダイアログボックスが出てくるので,Xperiaの電源を切って,ボリュームダウンボタンを押しながらPCとUSBケーブルで接続する。
  8. しばし待つ。
  9. USBケーブルを抜いて,Xperiaを起動してウイザードに従って基本設定をおこなう。Wifi, Googleのアカウント,。

Root化

  1. root取得ツールをPCにダウンロードして解凍する。
  2. Xperiaの[メニュー]-[設定]-[開発者向けオプション]-[USBデバッグ]と,[メニュー]-[セキュリティ]-[提供元不明のアプリ]にチェックを入れる。
  3. root取得ツールのrunme.batをダブルクリックする。
  4. Xperiaの電源を入れたまま,PCにUSBで接続し,PCのEnterキーを押す。処理が始まり,Xperiaが3回ほど再起動する。最後にPCにAll Doneとでれば終了。
  5. XperiaのUSBケーブルをはずし,再起動後,アプリ一覧にSuperuserがあれば成功。

システムアップデート

ここで,Xperiaの[メニュー]-[設定]-[端末情報]-[ソフトウェア更新]-[システム]で,Androidを4.0.4 (4.1.B.0.587)にアップデート。root化はされたまま。

x-Parts (CWM)

Google Playでx-Partsをインストール。SO-03Cのシステム,データ全体をまとめてバックアップできるアプリ(無料)。root化されていないと使えない。rootでシステムをいじる前にバックアップをとっておけば安心。
インストール: x-Partsを起動して[INSTALL]タブで[Install CWM]をクリックして,CWMをインストール。
起動:Xperiaを再起動して、Sonyのロゴが表示されている間に,ボリュームボタンの下(音量小ボタン)を数回押下するとClockworkMod Recovery(CWM)が起動する。
基本操作:音量ボタン(ボリュームボタン)の上下でメニュー選択し,ホームキーで決定,バックキーでメインメニューに戻る。
バックアップ:[backup and restore]-[backup]でバックアップ開始。バックアップが終わったら[reboot system now]で端末を再起動。バックアップ,/mnt/sdcard/clockworkmod/backupに日付ごとのフォルダ名で保存される。(または,x-Partsを起動して[TOOLS]-[Auto-Magical Nandroid Backup])
リストア:[backup and restore]-[restore]でバックアップ一覧を表示し,必要なバックアップを選択する。リストアが終了したら[reboot system now]を選び再起動。

日本語フォントの追加

  1. ICS化されたXperiaの設定ファイルに,日本語フォントとして,「モトヤマルベリ」フォントが指定されている[3]。そこで,そのフォントを指定のフォルダに置いてやるだけで,綺麗な日本語が表示できるようになる。
  2. 「モトヤマルベリ」フォントをダウンロードする。
  3. ダウンロードしたフォントをmicroSDカードに保存してXperiaにさす。
  4. Google PlayからXperiaにESファイルエクスプローラー(無料)をインストールする。
  5. ESファイルエクスプローラを起動し,設定画面の[ルートオプション]-[ルートエクスプローラー]と[ファイルシステムをマウントする]にチエックを入れ,承認を求められるのでOKする。そして,[ホームディレクトリ]を / にする。
  6. ESファイルエクスプローラーで/mnt/sdcardからMTLmr3m.ttfを/system/fonts/にコピーする。
  7. コピーしたMTLmr3m.ttfを長押しして[プロパティ]でパーミッションを rw-r--r-- へ変更する。

セルスタンバイ対策

セルスタンバイ対策をすると,電波アイコンと,[メニュー]-[設定]-[電池]が正しく表示されるようになる。
準備:WindowsにandroidSDKをインストールして,javaコマンドとadbが使えるようにしておく。
Windowsの適当なフォルダ(C:\frameworkとする)に
smali-1.4.2.jar (An assembler/disassembler for Android's dex format)
baksmali-1.4.2.jar (同上)
dexopt-wrapper
をコピー。
Xperiaの[メニュー]-[設定]-[開発者向けオプション]-[USBデバッグ]と,[メニュー]-[セキュリティ]-[提供元不明のアプリ]にチェックを入れ,XperiaをPCに接続。
コマンドプロンプトでC:\frameworkを開き,SO-03Cから必要なファイルをフォルダごとコピー:
C:\framework>adb pull /system/framework/ framework
workspaceフォルダを作り,frameworkフォルダにコピーされたファイルframework.jarとframework.odexをworkspaceにコピーして,逆アセンブル:
C:\framework>java -jar baksmali-1.4.2.jar -a 15 -d framework -c:framework\core.jar:framework\core-junit.jar:framework\framework.jar -x workspace\framework.odex
outフォルダにできたcom\android\internal\telephony\gsm\GsmServiceStateTracker.smaliを編集(2箇所):
    :pswitch_data_22
    .packed-switch 0x0
        :pswitch_1c
        :pswitch_1d
        :pswitch_1c  <- 1dに変更
        :pswitch_1c
        :pswitch_1c
        :pswitch_1f
        :pswitch_5
        :pswitch_5
        :pswitch_5
        :pswitch_5
        :pswitch_1c
        :pswitch_5
        :pswitch_1c  <- 1dに変更
        :pswitch_1c
        :pswitch_1c
    .end packed-switch
編集したファイルからclasses.dexを作成(アセンブル):
C:\framework>java -jar smali-1.4.2.jar -a 15 -o classes.dex out
7zipでworkspaceディレクトリに置いたframework.jarを開き,その中に今作ったclasses.dexをコピーする。
Xperia本体の/data/local/tmpにdexopt-wrapper(zipファイルを解凍しておく)とframework.jarをアップロード。
C:\framework>adb push workspace\framework.jar /data/local/tmp/
C:\framework>adb push dexopt-wrapper /data/local/tmp/
dexopt-wrapperのパーミッションを755にし,コマンドを2つうつ(odexの作成):
C:\framework>adb shell
shell@android:/ $ su
shell@android:/ # cd /data/local/tmp
shell@android:/ # chmod 755 dexopt-wrapper
shell@android:/ # ./dexopt-wrapper framework.jar framework.odex
shell@android:/ # busybox dd if=/system/framework/framework.odex of=framework.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
オリジナルのframework.odexをframework.odex.orgに名前を変えて,今作ったframework.odexに置き換える。
shell@android:/ # mount -o rw,remount /dev/block/mtdblock0 /system
shell@android:/ # cd /system/framework
shell@android:/ # mv framework.odex framework.odex.org
shell@android:/ # cp /data/local/tmp/framework.odex .
shell@android:/ # ls -la framework*
-rw-r--r-- root root 12720258 2013-02-18 06:56 framework-res.apk
-rw-r--r-- root root 15071 2013-02-18 06:53 framework.jar
-rw-r--r-- root root 10682688 2013-02-18 08:07 framework.odex
-rw-r--r-- root root 10693088 2013-02-18 06:56 framework.odex.org
shell@android:/ # sync.
shell@android:/ # reboot

画面OFF時に通知LEDが点滅しないバグ修正

FinalOdexedNotificationLedFix_4.1.B.0.587.zipをダウンロードして,XreriaのSDカードに保存し,CWM(上述)でインストール。CWMのメニューからinstall zip from sdcardを選ぶ。

使わないアプリをアンインストール

準備:Google PlayからXperiaにTitaniumBackup ★ root(無料アプリ)をインストールする。
使わないアプリで,Xperiaの[メニュー]-[設定]-[アプリ]でアンインストールできないものは,TitaniumBackupでバックアップをとって,アンインストールするとよい。必要なら同アプリでリストアできる。
SO-03Cはメモリが小さいので,もともとついているメモリを食うアプリをアンインストールし,サイズの小さい(SDカードに移動できる)アプリに入れ替えるとよい。

メモリを食うアプリ SDカードに移動できるアプリ
OfficeSuite  Documents To GO 
Adobe Reader  ezPDF Reader 

使い方の注意点

スクリーンショットの取り方。2.3 「電源ボタン長押し」→ 4.0 「電源ボタンとボリュームダウンの同時押し」

IP電話

FusionのIP-Phone SMARTが安く(基本料金0円,固定へも携帯へも8.4円/30秒)。SIPアプリはChiffonがお勧め。待ち受けしてもバッテリの減り方は??(調査中)%/h。「携帯電話」として実用になると思う。SO-03Cは電池を取り換えられるので,予備電池を持って歩けば,電池の減りはあまり気にならないでしょう。
SIPアプリ設定の参考:Fusion IP-Phone SMARTで2013.1現在利用できるコーデックは帯域の小さい方から順にSpeex(8kHz), iLBC, GSM, G711μ(PCMU), G.722。

2.3.4(4.0.1.C.1.9)にダウングレード

作業に失敗したり,何らかの理由で白ロムを買った時の状態に戻したいときは,ICSの導入と同じ手順で,ROMとしてSO-03C_4.0.1.C.1.9_docomo.zipを導入すればよい。ROMファイルは検索してダウンロードする。

おまけ:日本語入力POBoxのアップグレード

日本語入力ソフトPOBox touch 4.4を5.1にアップグレードする。
  1. TitaniumBackupでPOBox touch 4.4をバックアップしてからアンインストールする。バックアップはSDカードのTitaniumBackupに入る。
  2. 上記PCにPOBox touch 5.1をダウンロードして解凍する。
  3. 解凍したフォルダでinstall.batをダブルクリックする。
  4. 作業が終わったら,Xperiaの[メニュー]-[設定]-[開発者向けオプション]-[USBデバッグ]と,[メニュー]-[セキュリティ]-[提供元不明のアプリ]のチェックをはずす。
レグザタブレット(AT570)へのADB USBドライバのインストール (http://www.designspark.com/jpn/blog/JPN-at570adb-usb) 2012.10を参考にして,レグザタブレット(AT570)にもPOBox touch 5.1をインストールしました。タブレットで使っても十分良いですね。(後日,やはり使いにくいので,使わなくなった)

参考

  1. XPERIA ray/SO-03Cへの海外版公式ICS ROM導入とroot化手順 (http://arkdroid.info/024/) 2012.10
  2. SO-03CをICSへアップデート (http://jisaker0210.blogspot.jp/2012/07/so-03cics.html) 2012.10
  3. Xperia arc Official ICS 4.0.4 を入れてみた その2 (http://voinuv.blogspot.jp/2012/06/xperia-arc-official-ics-404_09.html) 2012.10
  4. コマンドラインからandroidアプリをインストール・アンインストール ~ adb install,adb uninstall (http://www.techmaru.net/ar/adbinstall.php) 2012.10
  5. ClockworkMod Recovery(CWM)の使い方(http://ameblo.jp/kaimonojyoz/entry-11096969990.html)2013.2
  6. ICSが入ったSO-03Cのセルスタンバイ問題対策(http://blog.livedoor.jp/tomotomoktai/archives/7038962.html)2013.2
  7. セルスタンバイ問題とは(http://techlog.iij.ad.jp/archives/487)2013.2
  8. 通知LEDバグ修正(http://voinuv.blogspot.jp/2012/06/xperia-ray-404.html)2013.3
  9. NotificationLedFix for 4.1.B.0.587/4.1.B.1.13 Odexed+Deodex Patch(http://forum.xda-developers.com/showthread.php?t=1840114)2013.3