さて、前回はどうもうまくいっていなかったらしい。そもそも俺の性格、細かい作業は苦手なのでもっと楽したいね。ということでいろいろとググってみて簡単そうな方法でもう一度トライしてみることに。

datasim_framework_jar_patcher_20120317.zipを適当なフォルダに解凍
そのフォルダをエクスプローラで開いてShiftを押しながら右クリック、「コマンドウィンドウをここで開く」
これ以降はDOS窓で

C:\ray>adb shell
$ su
su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
# exit
exit
$ exit
exit

C:\ray>execute


(ここで画面がクリアされる)

Select language
==========================
0 : English
1 : Japanese
==========================
[0-1]1

(ここで画面がクリアされる)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

   データ専用 SIM での
   電界強度表示 + セルスタンバイ沈静化パッチ 2012/03/16

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

続行するには何かキーを押してください . . .

(ここで画面がクリアされる)

環境テストを開始します . . .

adb.exe を検出:
  C:\ray\adb.exe
Java を検出:
  C:\Windows\System32\java.exe
WSHコマンドライン版を検出:
  C:\Windows\System32\cscript.exe
7za.exe を検出:
  C:\ray\7za.exe
smali を検出:
  C:\ray\smali-1.3.2.jar
baksmali を検出:
  C:\ray\baksmali-1.3.2.jar
data-only-sim-smali-fixer.wsf を検出:
  C:\ray\data-only-sim-smali-fixer.wsf

続行するには何かキーを押してください . . .

(ここで画面がクリアされる)

処理対象の Android OS の API Level を指定して下さい
省略時は 14 - Ice Cream Sandwich が使用されます

※入力された値が間違っていても処理は進行しますが
 意図した通りのファイルが生成されるかは不明です

OS Version      : APILv : Codename
----------------+-------+------------------------
Android 1.5~   :     3 : Cupcake
Android 1.6~   :     4 : Donut
Android 2.0~   :     5 : Eclair
Android 2.0.1~ :     6 :
Android 2.1~   :     7 : Eclair MR1
Android 2.2~   :     8 : Froyo
Android 2.3~   :     9 : Gingerbread
Android 2.3.3~ :    10 : Gingerbread MR1
Android 3.0~   :    11 : Honeycomb
Android 3.1~   :    12 : Honeycomb MR1
Android 3.2~   :    13 : Honeycomb MR2
Android 4.0~   :    14 : Ice Cream Sandwich
Android 4.0.3~ :    15 : Ice Cream Sandwich MR1
----------------+-------+------------------------
[3-15]10

(ここで画面がクリアされる)

パッチの処理モードを選択して下さい

モード : 解説
-------+-------------------------------------------------------
     0 : Galaxy シリーズ、Desire シリーズで動作実績があります
       : 書き換え箇所は 3, 13
-------+-------------------------------------------------------
     1 : Xperia シリーズで動作実績があります
       : 書き換え箇所は 2, 12
-------+-------------------------------------------------------
     2 : Motorola DROID Pro / DROID 3 で動作実績があります
       : 書き換え箇所は 0, 10
-------+-------------------------------------------------------
    99 : モード 0 でダメな場合、あるいはモード 1 で
       : セルスタンバイの消費が改善されない場合にお試しください
       : 書き換え箇所は 2, 3, 12, 13
-------+-------------------------------------------------------

機種に合わせたモードを選択しないと上手く機能しない可能性があります
[0-99]1

(ここで画面がクリアされる)

「緊急通報のみ」の表示を無効化する機能が使用可能です
代わりにキャリア名表示が行われるようになるはずです
省略時は 0 - 変更しない が使用されます

※テスト環境が少ないため必ず動くとは限りません
  また Android OS 1.5 には「緊急通報のみ」は存在しません

モード : 解説
-------+-------------------------------------------------------
     0 : 変更しない
-------+-------------------------------------------------------
     1 : 「緊急通報のみ」を無効化します
       : ※一部の機種ではこれを選ぶと改変時にエラーが発生します
-------+-------------------------------------------------------
     2 : 「緊急通報のみ」を有効化します
       : ※常時有効化ではなく改変前の挙動になるだけです
-------+-------------------------------------------------------

[0-2]0

(ここで画面がクリアされる)

Android OS API Version 10、処理モード 1、
緊急通報処理モード 0 でバッチ処理を開始します

なお、生成されたファイルのチェックは最低限しか行われません
デバイスが起動アニメーションから進行しなくなってしまった場合は
バッチファイルと同じディレクトリに作成される framework.jar.orig を
端末上の /system/framework/framework.jar へ上書き転送して下さい

例: adb push framework.jar.orig /system/framework/framework.jar

処理を開始してよろしいですか?
[y/n]y

(ここで画面がクリアされる)

■1. 端末内の /system/framework/framework.jar を
     一時ディレクトリへ転送します

1988 KB/s (3081610 bytes in 1.513s)


一時ディレクトリへの転送に成功しました

■2. framework.jar の中から classes.dex を抽出します


7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Processing archive: C:\ray\temp\framework.jar.tmp

Extracting  classes.dex

Everything is Ok

Size:       7277224
Compressed: 3081610

classes.dex の抽出に成功しました

■3. classes.dex を baksmali で逆コンパイルします

test

classes.dex の逆コンパイルに恐らく成功しました

■4. データ専用 SIM 対応化のため smali ファイルを書き換えます

smali ファイルの書き換えに成功しました

■5. 書き換えたファイルを smali ファイル群の中に組み込みます

        1 個のファイルをコピーしました。

smali ファイルを差し替えました

■6. パッチを当てた状態の smali ファイル群から classes.dex を生成します


classes.dex の生成に成功しました

■7. 生成された classes.dex を framework.jar に追加します


7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Scanning

Updating archive C:\ray\temp\framework.jar.tmp

Compressing  classes.dex

Everything is Ok
        1 個のファイルをコピーしました。

恐らくファイルの追加に成功しました

■8. 全ての処理が完了したため、バッチファイルと同じディレクトリに
     新しい framework.jar をコピーしました
     このファイルをデバイスに転送する前に手作業で確認を推奨します

     すぐにデバイスに転送するためには /system が書き込み可能で
     カレントユーザーが root である必要があります

今すぐデバイスに転送しますか?
[y/n]y
failed to copy 'C:\ray\framework.jar' to '/system/framework/framework.jar': Perm
ission denied
framework.jar の端末への転送に失敗しました
ERROR: adb push の exitcode が 0 ではありません
続行するには何かキーを押してください . . .


ということで、せっかく作ったframework.jarのの転送に失敗したとのこと、そこで

このファイルをe:\にコピー(rayのSDカードがeドライブとして認識されているって状況ね)
Xperia rayをUSBからはずす
ESファイルエクスプローラーを起動、[menu]-[設定]から「ファイルシステムをマウ」ってなっているところにチェックを入れる(小さく/,/systemを書き込みでマウントするって書いてある)
/sdcard/framework.jarを長押しして「...にコピーします」を選ぶ
コピー先として/system/frameworkを選び[OK]
上書き確認を[OK]

無事上書きできたらしい。これで再起動すればセルスタンバイ問題は今度こそ解決?とSIMを抜いた状態で再起動してみると、、、

「SIM入っていないのにアンテナ立っているよ、これ解決してるんじゃね?」

残念ながら今はIIJmioのSIMがないので確認出来ないけれど、多分解決しているな。