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. ファイルの修正
変更箇所をパッチとして貼り付けようと思ったら思いのほか長いのでファイルへのリンクとして張ります。
基本的にはここに書いてあるとおりで、
- 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をして再起動。
おしまい。