アンテナピクト対策他

投稿日:

Galaxy noteを1週間近く使ってみて気になったこと。

  • 電池の減りは -4~-5%/h とちょっと多め
  • 普段はHSDPA(7.2Mbps)だけど、たまにUMTS(384kbps)に落ちることがある。
  • テザリングできない。
  • アンテナピクトの横のRAT表示はないとやっぱり不便

ということで、上2つはもう少し様子見、残りの2つを対策すべく、ここを参考にシステムファイルをいじってみた。

自分でも忘れそうなので備忘録として書いておきます。とりあえず、CWMリカバリ導入済み、root化済み、PCにはSamsung Kiesをインストールしてドライバは設定済み、adbが使えるようになっていることが前提。

1. /system/frameworkの吸出し

コマンドプロンプトから

adb pull /system/framework orig\framework

これで、orig\frameworkにファイルがコピーされる。さらに、作業用ファイルとしてworkディレクトリに framework.jar  をコピーしておく。

2. framework.odexを展開

java -jar baksmali-1.4.1.jar -a 15 -d orig\framework -x work\framework.odex

すると、outディレクトリが作成されてその下にたくさんのファイルが展開される。

3. ファイルの修正

変更箇所をパッチとして貼り付けようと思ったら思いのほか長いのでファイルへのリンクとして張ります。

mvno_psonly_sc05d_ics.patch

基本的にはここに書いてあるとおりで、

  • CS DomainでAttachに成功していると見せかける
  • テザリング時のAPNを変更させないようにする
  • 非 docomo 回線に見せる

というもののようです。(一つ目はXperia arcのときもやったけど、下2つはコードを読んでもよくわからず)

4. framework.jarに格納

まずはsmaliでdex化

java -jar smali-1.4.1.jar -o classes.dex out

ついで、framework.jarに格納 ※一応、zip非圧縮で

7za.exe u -tzip -mx0 work\framework.jar classes.dex

5. framework.odex生成

dexopt-wrapperが使えないらしいので端末のブート処理でodexを作らせる。

新しく作ったframework.jarを端末内に送り込み、オリジナルのframework.{jar,odex}をframework.{jar,odex}.old にリネームしておく。

adb push work\framework.jar /data/local/tmp/framework.jar.new
adb shell mv /system/framework/framework.jar /system/framework/framework.jar.old
adb shell cp /data/local/tmp/framework.jar.new /system/framework/framework.jar
adb shell mv /system/framework/framework.odex /system/framework/framework.odex.old

Wipe cache partition、Wipe Dalvik Cacheをして再起動。

ここでブートが途中で止まるので、1分くらい放置してからリカバリモードで再起動。

すると、framework.odexが 端末内の/data/dalvik-cache/system@framework@framework.jar@classes.dex として作られるので名前を変えておく。

adb shell mv /data/dalvik-cache/system@framework@framework.jar@classes.dex /data/local/tmp/framework.odex.new

一旦、framework.jarとframework.odexを元に戻す。

adb shell rm /system/framework/framework.jar
adb shell mv /system/framework/framework.jar.old /system/framework/framework.jar
adb shell mv /system/framework/framework.odex.old /system/framework/framework.odex

署名をコピーする。

adb shell busybox dd if=/system/framework/framework.odex of=/data/local/tmp/framework.odex.new bs=1 count=20 skip=52 seek=52 conv=notrunc

これで新しいframework.odex(.new)が出来上がり。

6. ファイル差し替え

adb shell cp /data/local/tmp/framework.odex.new /system/framework/framework.odex.new
adb shell chmod 644 /system/framework/framework.odex.new
adb shell mv /system/framework/framework.odex /system/framework/framework.odex.orig
adb shell mv /system/framework/framework.odex.new /system/framework/framework.odex

もう一度、Wipe cache partition、Wipe Dalvik Cacheをして再起動。

おしまい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です