やぎLabs

GalaxyNexus(Android 4.2.2)のセルスタンバイ問題を解決する

順調なiij mio + ガラケー生活のなかで気になるのがデータ通信SIMでのセルスタンバイ問題。

こちらのサイトで配布されているバッチファイルを参考にせっかくなので手動でやってみました。

バッチファイルを見ればすぐにわかりますがメモ。

各種環境

コマンド7zaが使えること。(ググればすぐに出てくる)

root化CWMが導入されたGalaxyNexus adnroid4.2.2(factory image)

baksmali.jar smali.jaをダウンロードしておく(ダウンロードサイトはすぐに見つかる)

dexopt-wrapperをダウンロードしておく(XDAのこちらのページより)

以下コマンドです


# adb pull /system/framework framework

# java -jar baksmali.jar --api-level 17 -x telephony-common.odex

ここで、outのcom/android/internal/telephony/gsm/の中にあるGsmServiceStateTracker.smaliを編集
編集箇所はこちらに書かれている部分を編集

# java -jar smali.jar --api-level 17 -o classes.odex out
# 7za a -tzip -mx0 telephony-common.jar classes.dex
# adb push telephony-common.jar /data/local/tmp
# adb push dexopt-wrapper /data/local/tmp
# chmod 775 /data/local/tmp/dexopt-wrapper
# cd /data/local/tmp/
# ./dexopt-wrapper telephony-common.jar telephony-common.odex

この時点でtelephony-common.jarとdexopt-wrapperは必要なくなるので消す。

端末の電源を切ってCWM起動してPCとつなぐ

/systemをマウント

# busybox dd if=/system/framework/telephony-common.odex of=/data/local/tmp/telephony-common.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
# cd /data/local/tmp
# busybox cp telephony-common.odex /system/framework/telephony-common.odex.new
# cd /system/framework/
# busybox mv telephony-common.odex telephony-common.odex.old
# busybox mv telephony-common.odex.new telephony-common.odex

CWMのadvance→Wipe Dalvik Cache

端末再起動

試していないが、元に戻すときはtelephony-common.odex.oldをtelephony-common.odexに上書き