さて、データ通信を安く使うためのものと言えば、ドコモのMVNOだね。
日本通信やIIJ mio、エキサイトLTEなどなど・・
様々な制約はあるが、月々980円や787円などでデータ通信を使い放題だ。しかし、データ通信専用SIMをAndroidで使うとアンテナ強度が表示されなかったり、それゆえに(電波を探し続けてしまうため?)電池消耗が速くなってしまうことがある。
今回はそんな日本通信やIIJ mioなどデータ専用SIMでもアンテナをちゃんと表示させる方法を紹介しよう。
もちろんISW11MことPHOTONでの手順だ。
ついにファイルの改変まで
まず先に言っておくと、今回の作業はPHOTONカスタムの中でもなかなか難易度の高いカスタムだ。
流れをざっくり説明すると・・
ファイルをPCにコピー、中から特定のファイルを取り出す、取り出したファイルを分解、その中からさらに別のファイルを編集、分解されたファイルをもう一度組み立て、大元のファイルに戻す、戻したファイルをPHOTONにぶち込む・・という流れだ。
手動でやるにはなかなか恐ろしさ満点の作業かも知れない。
今回は手動でやる方法を紹介する。
ブローヴちゃんさんの「 Android + b-mobile データ専用 SIM で電界強度を表示する 」という記事を参考にさせていただきました。
もっと簡単にやりたいなら、ブローヴちゃんさんの「Android + データ専用 SIM での動作修正パッチ」を使わせてもらうのが楽チンコースだ。
まったくもってありがたやでございます。
ちなみに私のPHOTONでは事情により上手くいかなかったので手動でやったというワケさ。ほとんどの人が手動でやる必要が無いと思うので、今回はある程度適当に書くよ!
手動での作業手順
まずは、ブローヴちゃんさんのツールをダウンロードする。作業は基本、コマンドプロンプトで行う。
本来は自分で各ツールを集めるべきかと思うが、ここはブローヴちゃんさんに大感謝だ・・!
さて、「動作修正パッチ」を適当なフォルダを作りそこに解凍、PHOTONの「framework.jar」をコピーする。
ちなみに今回は「DATASIM」というフォルダに解凍したという体で進める。
コピーしたらDATASIMフォルダに移動し、「framework.jar」の中から「classes.dex」を取り出す。取り出すためには解凍ソフトが必要だが私はフリーソフトの「Explzh」を使用した。(他に使えるソフトは「7zip」などが有名。)
取り出したら、さらに動作修正パッチに入っている「baksmali-1.3.2.jar」を実行し、classes.dexを分解する。
java -jar baksmali-1.3.2.jar -a 14 classes.dex
しばらくして分解が成功すれば、DATASIMフォルダに「out」というフォルダが作られ、そこにclasses.dexの中身が登場している。中身を「com」→「android」→「internal」→「telephony」→「gsm」の順にたどり、「GsmServiceStateTracker.smali」をテキストエディタで開き、下記のように編集するんだ。PHOTONの場合は3ヶ所だね。
ところでテキストエディタはサクラエディタがオススメだ。
:pswitch_data_22
.packed-switch 0x0
:pswitch_1c
:pswitch_1d
:pswitch_1c
:pswitch_1c
:pswitch_1c
:pswitch_1f
:pswitch_5
:pswitch_5
:pswitch_5
:pswitch_5
:pswitch_1c
:pswitch_5
:pswitch_1c
:pswitch_1c
:pswitch_1c
.end packed-switch
↓
<編集後>
:pswitch_data_22
.packed-switch 0x0
:pswitch_1d
:pswitch_1d
:pswitch_1c
:pswitch_1d
:pswitch_1c
:pswitch_1f
:pswitch_5
:pswitch_5
:pswitch_5
:pswitch_5
:pswitch_1c
:pswitch_5
:pswitch_1c
:pswitch_1d
:pswitch_1c
.end packed-switch
編集ができたら今度は「smali-1.3.2.jar」を実行しclasses.dexを作り直す。
作り直したclasses.dexをframework.jarに入れ込んだらPHOTONの内蔵メモリーにコピーする。
コピーしたらいよいよ書き換えだ・・
ちなみに即文鎮の可能性があるので書き換えの前に、CWMなどで必ずバックアップしておくこと!!!
もし失敗しても誰も助けられんぞ!
バックアップしたら書き換えを行う・・!!
su
mount -o remount,rw /system /system
cp /sdcard/framework.jar /system/framework/framework.jar
書き換えができたら再起動。
これでアンテナ表示ができるようになっているはずだ。
いつもの一言
こういうのってほんとにハイリスク/ローリターン。
がんばってやる価値があるのか無いのか微妙なところだけど、うまくいくとなんだか楽しいもの。
ところで最近の私はPHOTONにエキサイトSIMを突っ込み、テザリングをメインで使っている。カスタムROMなのでAndroid4.0だ。
そろそろAndroid4.1ことJerry BeansのROMを使いたいところだけど、うちのPHOTONでは安定したものが無さそうな感じ。
なんだろう・・ここまで遊んでしまうと標準ROMには戻れんよね・・
コメント
初めまして。いつも有用な情報を公開して頂きありがとうございます。
PHOTONでSo-net SIM(Xi非対応)とauを併用するために、CM7で切り換えて使っていますが、やはりカスタムROMではWiMAXが使えなくなるので、KDDI標準ROMでアンテナ表示やってみました。framework.odexが存在する標準ROMは、ブローヴちゃんさんの所のパッチが使えないため同様に手作業ですが。
PHOTONの標準ROMの:pswitchの改変箇所は、一番目の「:pswitch_20」を「:pswitch_1f」とするだけでいけました。
逆アセンブル:java -jar baksmali.jar –api-level 10 -c:core-junit.odex -x framework.odex
再コンパイル:java -jar smali.jar –api-level 10 -o classes.dex out
dexopt-wrapperでjar→odex変換
Busyboxで署名部分コピー
オリジナルのframework.odexとの入れ替え
こんな感じで標準ROMでは、MVNO非XiデータSIMとWiMAXとauを両立できる訳ですが、音声対応SIMとドコモやソフトバンク純正のデータ専用SIM以外では、最近Xiに対応したSo-net SIMは何も対策しなくてもそのままアンテナピクトが表示されるらしいですね。
座布団さん
有用な情報ありがとうございます!
なんだかんだで標準ROMが安定してますしいいですねぇ!
So-net SIMでアンテナピクトが表示されるなら、まさかのSMSが受信できたりするかも知れないですね。
いつもブログ拝見させて頂いています。
こちらのブログにて、「ISW11MことMOTOROLA PHOTONで、カスタムROMをインストール方法」の回をまるまる実行しました。
記事で紹介頂いたcm9のカスタムROM、SIMはDTI490円で運用しています。やはりアンテナは立たず、(余計なアプリは入れず、設定もデフォルトのままの状態で)ブローヴちゃんさんのバッチを試しましたが、ダメでした。
次にこちらのサイトのを参考に手作業で行いましたが、これまたダメでした…。
どこか解決のヒントになるようなことは、ありませんでしょうか?
kenzoさん
classes.dexをframework.jarに入れるときはどうやって入れてます?
普通に、解凍→コピー→圧縮とかだとできないです。
ちなみに私のやり方は、こうです。
framework.jarを右クリック
→Explzhで開く
→開いたウィンドウからclasses.dexをPCにコピー
→classes.dexを編集
→開いたままのウィンドウにドラッグ&ドロップでコピー、上書き追加
→ウィンドウを閉じる
いつもブログ拝見させて頂いてます!
以前、ISW11Mでrootをとった時はお世話になりました。
最近、rootはとれているのですが、スーパーユーザーがアプリを全て拒否してしまいTitaniumBackupとかが使えなくてどうしたらいいのか解らずメールさせて頂きました。知恵をお貸し下さい。よろしくお願いします。
toshijiさん
アプリ一覧からスーパーユーザーを開くと拒否/許可の切り替えができると思いますよ。
ご返答ありがとうございます。
スーパーユーザーをひらいてインフォの選択肢が
プロンプトと拒否と許可があって許可を選択してみましたがあいかわらず拒否されてしまいます。
toshijiさん
CWMでシステムのバックアップは取ってありますか?
バックアップしてあるならsuperuserアプリを一回削除して、もう一回インストールしてみてはどうでしょう?
smartgoods.me様
アドバイスありがとうございます。
バックアップがなかったので初期化して再度root取り直します。また、参考にさせていただきます。
toshijiさん
お疲れ様です!
最近うちのPHOTONは調子が悪いのでいまいちネタが出ませんが、参考になれば幸いです!
「adb push C:\DATASIM\framework.jar /sdcard/」を実行したところ「/framework.jar permission denied」が表示されコピーが完了しませんでした。心当りを教えて頂けると幸いです。ちなみに、framework.jar生成はプローヴさんのバッチファイルで実行しました。最後の転送のみを手動で実行しようとしました。
ggryuさん
表示されているメッセージは「権限がない」という内容です。原因はわかりませんがAndroidでは時折発生しますね。
同じ手動ならPHOTONをUSBマスストレージとして接続して本体メモリにPCからドラッグ&ドロップで直接コピーしてみてはどうでしょう?