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