SO05D セルスタンバイ&スクロールキャッシュ&音量30段階MOD | いるるんのブログ

いるるんのブログ

不定期で携帯関係メインです。SC-02Cを主体にして、今はWP7にはまってます。日曜大工感覚なので詳しいところまではわかりません(^_^;)あくまでもroot化推奨とかではなくやらない方が良い!とだけ言っておきますw
もし実行するならすべて自己責任で!

SO05Dのセルスタンバイ対策、スクロールキャッシュ無効化、メディア音量30段階MODを作ってみました。


参考にしたのはraydefy様のブログ です。


ファイルはこちらから どうぞ。


上記ファイルの導入方法ですが、cwm recoveryを起動してsystemをmount。

PCのコマンドプロンプトを開き以下のように入力。


adb push framework.odex /tmp

adb pull /system/framework/framework.odex d:\ ←backupですので適当にフォルダ指定

adb shell

#じゃなかったらsu


rm /system/framework/framework.odex

cp /tmp/framework.odex /system/framework

reboot


念のため再度cwm recoveryに入りcacheとdalvik-cacheをwipe。


これで終わりです。

もしロゴループしてしまうようでしたら、ご自身で以下のメモ参考にやってください。

(環境により変化あるようですのでロゴループする方もでるかもです。)

ロゴループした場合はバックアップを上記のコマンドで戻してください。




以下は自分メモ~~~~~導入した方法です。


まず適当にフォルダを作りその中にworkspaceフォルダも作ります。


d:\framework

d:\framework\workspace


d:\frameworkの中に


smali

smali.jar

baksmali

baksmali.jar


を入れる。ファイルはこちらから DL。

~.jarはバージョン名が入ってるので上記のファイル名にリネーム。


同じくd:\frameworkにSO05Dから抜いたsystem dump内のframeworkフォルダの中身を全てコピー


次にd:\framework\workspaceの中に


dexopt-wrapper


を入れる。ファイルはこちらから DL。


次にコマンドプロンプトを開き


d:

cd d:\framework


ディレクトリ移動したらframework.odexをbaksmaliします。


baksmali.jar -x framework.odex


これで同フォルダ内にoutフォルダが作成され、その中にframework.odexが展開されてるはずです。


outフォルダに移動して修正作業です。


まずはスクロールキャッシュの無効化


※コードの一番左は行数ですが、環境により変わるみたいです。

out\android\eidget/AbsListView.smali をテキストエディタ等で開き以下のように修正。


1529 const/4 v1, 0x1

1529  const/4 v1, 0x0


2051 invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V

2051 invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V


13901 .parameter "enabled"

13901 .parameter "disabled"


次にセルスタンバイ対策です。


out\com\android\internal\telephony\gsm\GsmServiceStateTracker.smali を以下のように修正。


4373 :pswitch_1c

4373 :pswitch_1d


4383 :pswitch_1c

4383 :pswitch_1d


最後にメディア音量30段階


out\android\media\AudioService.smali を以下のように修正。


857 0xft 0x 0t 0x0t 0x0t

857 0x1et 0x 0t 0x0t 0x0t


以上で修正作業は終了。


ここからまたコマンドプロンプトです。


d:\framework


smali.jar -o classes.dex out


するとframeworkフォルダ内にclasses.dexというファイルができています。

それとframework.jarをworkspeceフォルダに移動しておきます。


次にworkspaceフォルダにエクスプローラーで移動して、framework.jarを7zip等で開きます。

その中に先ほど作成したclasses.dexを放り込みます。

framework.jarの中身は↓のようになるはずです。


META-INF

classes.dex

preloaded-classes


んで7zipは閉じます。


次にSO05Dをrecovery modeで起動。

PCと接続し、system と dataをmountしておきます。


ここからまたコマンドプロンプト。


cd d:\framework\workspace

adb push framework.jar /data/local/tmp

adb push dexopt-wrapper /data/local/tmp

adb shell chmod 755 /data/local/tmp/dexopt-wrapper


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


cp /data/local/tmp/framework.odex /system/framework/framework.odex.new

元のframework.odexのバックアップもとっておきます。
mv /system/framework/framework.odex /system/framework/framework.odex.bak

mv /system/framework/framework.odex.new /system/framework/framework.odex

sync

reboot

これで再起動するはずですが、Sonyロゴ表示の時にボリューム↓連打で再度recovery modeに入ります。

んで、cache と dalvik-cache をwipeしておきます。


これでリブートすれば完了です。


お疲れ様でした。