F-12Cの強制テザリングAPN変更についてメモ

F-12CのV21はIIJmio高速モバイル/Dイオン専用b-mobile SIMテザリングが出来ないと聞いている。確認するには、MENU→設定→無線とネットワーク→Wi-Fiアクセスポイント→「Wi-Fiアクセスポイント」にチェックしてテザリングを開始した後すぐに、Applications→電話→*#*#4636#*#*→携帯電話情報、ここに表示されるGSM切断:に続く文字列にdcmtrg.ne.jpってのがあれば強制APNになっているらしい。今使ってるEMOBILE SIMでテザリングONにして確認したら以下のようなカンジだった(途中、適当に改行してる)。

GSM切断:========DATA=======
          State: DcActiveState
          connected at 11:51 and elapsed 00:21
          to [dpt=PROFILE_TYPE_3GPP_APN, active=false, プロトコル制限なし,
 7, 44000, emb.ne.jp,,,,,, -1, true, false, [, *]]
          interface: rmnet0
          address: 114.51.188.31
          gateway: 114.51.188.1
          dns: 117.55.64.154,

強制APNを抑止するには、/system/framework/framework-res.apkをAPK Multi-Tool等で展開した/res/values/strings.xmlを開いて26行目あたりにある以下の内容(V21の場合の値、途中適当に改行してるけど本来は1行で書く)を、

    <string name="config_tether_apndata">docomo_hotspot,dcmtrg.ne.jp,,,,,,,,,
440,10,,default,mms,supl,dun,hipri</string>

以下の内容(V13の場合の値、途中適当に改行してるけど本来は1行で書く)に書き換えて再構成したframework-res.apkに置き換えれば良いらしい。

    <string name="config_tether_apndata">docomo_hotspot,dcmtrg.ne.jp,,,,,,,,,
440,10,,default</string>

EMOBILE S42HWだと以下の内容なんだけど、この内容に書き換えればテザリング時にAPN再接続しないように出来るかな〜?

    <string name="config_tether_apndata" />

ちなみに値は、MENU→設定→無線とネットワーク→モバイルネットワーク→アクセスポイント名→OK→MENU→新しいAPNで表示されるものとほぼ同じで、名前,APN,プロキシ,ポート,ユーザー名,パスワード,サーバー,MMSC,MMSプロキシ,MMSポート,携帯国番号(MCC),通信事業者コード(MNC),認証タイプ,APNタイプ(「,」で区切って複数の値を記述できる)となっている。
他にも/res/values/arrays.xmlに、

    <string-array name="config_tether_wifi_regexs">
        <item>wl0.1</item>
    </string-array>

とある場合は、これを以下のように書き換えないと、

    <array name="config_tether_wifi_regexs" />

テザリングが出来ないって機種もあるらしい。
APK Multi-ToolやAPK Managerはインストールしたフォルダのplace-apk-here-for-moddingにapkファイルを入れておき、Set current projectでapkファイルを選択、Decompile apkでapkファイルをprojectsフォルダに展開、Select compression level for apk'sでコンパイル時の圧縮率を指定(0にしないと正常に動作しない機種があるらしい)、Compile apkでIs this a system apk (y/n)と出たらy、# of errors (y/n)と出たらy、続行するには何かキーを押してください . . .と出たら、keepフォルダ内に変更したファイルがあれば削除、あとXMLファイルをいじった場合(今回はそう)はresources.arscも削除してから、何かキーを押す。あとはplace-apk-here-for-moddingフォルダに出来たunsignedで始まるapkファイルを元のファイル名にリネームして置き換えてやればオッケーらしい。