haven.さまざまな物や事に関する、役に立ったり立たなかったりするテキストが綴られるブログ。Sandwich)へのアップグレードは見送られてしまいました。欧米諸国ではソニエリ(現ソニモバ)純正のICSが配布されており、これを使えば(現時点で)一世代前のOSまではアップグレードできることになります。ところが、このICSにはバグがあり、"設定"→"その他"→"モバイルネットワーク"→"ネットワークモード"にて"WCDMAのみ"が選択できません。正確には、チェックを入れても再起動後には"GSM/WCDMA(自動)"に戻ってしまいます。Ray"では、ThRayICS4.0というカスタムROMを使わせていただいておるのですが、オリジナルソースから混入しているバグなので、当然のごとく同じ症状が見られます。今のところWi-Fi運用なのでまったく問題なかったりするのですが、とりあえず修正してみることに。元ネタはxdaのこちらのスレッド。PCが必要となります。各種圧縮ファイルを展開するために、7-zipというソフトがあると便利。他のソフトでも問題はありませんが、今回使用するファイルはこれ1本で処理することができます。言うまでもありませんが、何かあった時のためにバックアップを取っておくのを忘れずに。いうことで、作業の流れをサラリとご紹介します。必要な材料を集めるところから。上記スレッドの最初の書き込みの文末にある"RIL.rar"をダウンロードしてきます。これが、パッチの本体。PC用ソフトをこちらのサイトからダウンロードしてきます。上記2ファイルは圧縮されておりますので、7-zipを使ってPC上の適当な場所に展開しておきます。あとは端末とPCでゴリゴリと作業を進めるだけ。端末の"/system/framework/framework.jar"のコピーをPCに持ってきて7-zipで開くと、中に"classes.dex"というファイルがあるのでこれを展開し、"Smali-Me"のフォルダに格納。同じフォルダにある"baksmali.bat"を管理者権限で実行すれば、ディスアセンブルがスタート。作業が完了したら、最初にダウンロードした"RIL.rar"の中に入っていた"RIL.smali"を、"\Smali-Me-1.0\Decompiled\com\android\internal\telephony\"にコピー。同名のファイルがあるので、それに上書きする形となります。これでパッチ当ては完了。続いて元の形に戻すための作業に入ります。"\Smali-Me-1.0\Decompiled\"内のすべてのファイルおよびフォルダを"\Smali-Me-1.0\Smali-Me\"にコピーし、管理者権限で"smali.bat"を実行します。作業が終了したら、最初にコピーした"classes.dex"を削除した後、上記バッチにて生成された"modded-classes.dex"を"classes.dex"にリネームします。続いて、端末から持ってきた"framework.jar"を7-zipで再び開き、パッチを当てた"classes.dex"で上書き。7-zipのウィンドウにドラッグ&ドロップすればOKです。7-zipの場合、直ちに変更が反映されるため、新規保存などする必要はありません。加工した"framework.jar"を端末に持って行き、元のファイルと同じ場所(/system/framework/)に上書き。念のためパーミッションをオリジナルと同じ644に変更して再起動すれば作業は完了です。最後に、"設定"→"その他"→"モバイルネットワーク"→"ネットワークモード"にて"WCDMAのみ"をチェックして再起動。起動後に同じ所開き、"WCDMAのみ"にチェックが入っていることを確認します。GSMを探さない分、もしかしたら微々たる省エネになるかもしれませんが、どちらかと言うと、バグが消えてスッキリ、というのが最も顕著な効果かも。気になっている方は、ぜひお試しあれ。FeedBurner管理人への連絡はこちらのフォームから。