ICSは非deodexだから神パッチが使えなくて困ったもんだ。素人だからメモのみで(;´∀`)
必要なもの
・smali.jar
・baksmali.jar
・dexopt-wrapper
cmdコマンドプロンプトから frameworkフォルダを引っ張る
adb pull /system/framework frameworkコピーされたframeworkフォルダに smali.jar と baksmali.jar をコピーして、frameworkフォルダ上で framework.odex を逆アセンブルする
新たに作られた out フォルダの中の下記ファイルをエディタで編集java -jar baksmali.jar -c:core-junit.odex -x framework.odex
\out\com\android\internal\telephony\gsm\GsmServiceStateTracker.smali
: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_1c
:pswitch_1d
:pswitch_1d
:pswitch_1c
:pswitch_1c
:pswitch_1f
:pswitch_5
:pswitch_5
:pswitch_5
:pswitch_5
:pswitch_1c
:pswitch_5
:pswitch_1d
:pswitch_1c
:pswitch_1c
.end packed-switch
編集し終わったら、classes.dex に再コンパイルする
java -jar smali.jar -a 15 -o classes.dex out出来上がった classes.dex を7zipで framework.jar にぶち込む
で、arcとつないで作業
framework.jar と dexopt-wrapper を仮フォルダに移す
adb push framework.jar /data/local/tmp/framework.jar
adb push dexopt-wrapper /data/local/tmp/
adb shell chmod 755 /data/local/tmp/dexopt-wrapper
dexopt-wrapper
を使ってjarをodexに変換してやる adb shell署名部分をオリジナルファイルからコピーする
cd /data/local/tmp
./dexopt-wrapper framework.jar framework.odex
busybox dd if=/system/framework/framework.odex of=framework.odex bs=1 count=20 skip=52 seek=52 conv=notruncんで、arcの /data/local/tmp 内にある framework.odex を /system/framework/ にぶち込む
念のため、Wipe Dalvik Cache しとく
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6TeVHI0OtDWLKxsjBU_M1BUZsvplHQPU03TCb1vLaU6SXT7_kfvKuA4mWnSC4w0Gz3dQ_Fwc01jdVRPsVWB5NaDwerdxCmN5WZu8jbZHEZpn16uve1TNnDgF5CkYn71NS2EC93l2wRbA/s320/device-2012-02-26-144851.png)
アンテナピクトが立って、圏外時間が0になった(´∀`)
参考:
Android + b-mobile データ専用 SIM で電界強度を表示する
非Deodex環境 [SO-02C] でセルスタンバイ問題を解決する
おまけ
Wi-Fi![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2CJzshZpqrA1iEGP7aBceo8jGhW1ifXSG1zJzvx4C1Hw-hAhX65TzZEARmrEgSzXW83N53IJai7BTBLFTXrsmNfSBwAl0Kek1f3pM_Bp11EqA3lTugIszfLLWs7Ua-pUl8M6AcnhrvE0/s320/device-2012-02-26-094342.png)
3G
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx8oI91tsFXr-j6wLk1tiz1v8KAX7kTQ9l-lXH0jUFRaJU9lPx0rYAdsHCZfOsVXtDM16AtXXwpmniR2CI_OEy7Q6DB7unxpVXknovMJ2vZTAaQaFZXJdQZXHT72h5YPsYPK84RDqORd4/s320/device-2012-02-27-000703.png)
ええい、SONYの新型はバケモノか!
java -jar smali.jar -a 15 -o classes.dex out
返信削除↑の-aの引数を14にしないと当方ではエラーでした。
報告まで。
tench@nさまの環境の、Android SDKのAPIバージョンが古いのではないかと…?
削除この記事を読んで、ようやくセルスタンバイ対策に成功しました。
返信削除本当にありがとうございましたm(__)m
ありがとうございました。
返信削除自分も、やっとセルスタンバイの対策が出来ました。(docomo,arc,android4.0.3)
簡素(わかり易い)にまとめられており、
どこよりも、参考になりました。