8.セルスタンバイ&アンテナピクト問題解消。

実はこれが一番苦労した。初めて失敗した作業です。

データ通信用のMVNO 回線で、なにもしないままだとアンテナピクトが動かない、そしてセルスタンバイのお陰で電池が減るので、プラスエリア化の次に大事な作業かなと思います。

準備として、SK17aカスタマイズ② FOMAプラスエリア対応の時に使った7-Zip Portableが必要。

あと、http://code.google.com/p/smali/のダンロードから、baksmalibaksmali-1.4.0.jarsmalismali-1.4.0.jarの4つをダウンロードしておく。(バージョンは変わっているかも)

次に、http://forum.xda-developers.com/showpost.php?p=3864655&postcount=36からdexopt-wrapper.zipをダウンロード。

CWMもSK17にインストールしておく。

 

いよいよ作業開始。PCのCドライブ直下にframeworkとworkspaceという2つのフォルダを作成。

SK17とパソコンをUSBケーブルでつないで、コマンドプロンプトを起動。

adb start-server

と入力してEnter。

次に、

adb devices

と入力してEnterをたたいて、デバイスが認識されればOK。

次に、

cd /framework

と入力してEnter。

C:\framework>になったかな?なっていれば次へ。

adb pull /system/framework

と入力してEnterをたたくと、長いコマンドが流れるはず。これでSK17の/system/frameworkから、先程C直下に作成したframeworkフォルダの中にファイルがコピーされている。

PCのC:\frameworkに行き、中の「framework.jar」ファイルをC:\workspaceフォルダにコピペ。

最初にダウンロードしておいたbaksmali、baksmali-1.4.0.jar、smali、smali-1.4.0.jarの4つのファイルを、C:\frameworkに移動。

移動したbaksmali-1.4.0.jarをbaksmali.jarに、smali-1.4.0.jarをsmali.jarにリネーム。

再びコマンドプロンプトに

baksmali.jar –api-level 15 -c:core-junit.odex -x framework.odex

と入力してEnter。これで逆アセンブルが完了。

C:/frameworkフォルダにoutフォルダが作られたか確認。

無事にできていれば、C:/framework/out/com/android/internal/telephony/gsm/GsmServiceStateTracker.smaliをテキストエディタで開く。

: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

赤字の部分を赤字のように変更。変更したら上書き保存。

またコマンドプロンプトで、

smali.jar -a 15 -o classes.dex out

と入力しEnter。コンパイルが完了すると、C:/frameworkフォルダにclasses.dexファイルができているはずなので確認。

classes.dexファイルをC:/workspaceフォルダに移動。

C:/workspace\framework.jarを右クリックして、7-Zip Portableで開く。

7-Zip Portableが開いたら、classes.dexをドラッグ&ドロップ。何か聞かれたらはいをクリック。

これで、7-Zip Portableで開いていたframework.jarにclasses.dexが追加された。

初めにダウンロードしておいたdexopt-wrapper.zipを解凍し、中身のdexopt-wrapperファイルをC:/workspaceにコピペ。

コマンドプロンプトで、

cd /workspace Enter
adb push framework.jar /data/local/tmp/framework.jar Enter
adb push dexopt-wrapper /data/local/tmp/dexopt-wrapper Enter
adb shell chmod 755 /data/local/tmp/dexopt-wrapper Enter

Enterは、たたくだけで入力しないよ。

Flashtoolを起動。

Advanced→Install Busyboxをクリックし、OKをクリック。

終了したらFlashtoolを閉じる。

コマンドプロンプトで、

adb shell Enter
cd /data/local/tmp Enter
./dexopt-wrapper framework.jar framework.odex Enter

を入力。

次に、

busybox dd if=/system/framework/framework.odex of=framework.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

を入力してEnter。

次に、

su Enter
mount -o remount,rw /dev/block/mtdblock0 /system Enter
cp /data/local/tmp/framework.odex /system/framework/framework.odex.new Enter
mv /system/framework/framework.odex /system/framework/framework.odex.bak Enter
mv /system/framework/framework.odex.new /system/framework/framework.odex Enter
sync Enter
reboot Enter

これでSK17が再起動されるので、再起動が開始したらケーブルを抜く。そしてCWMを起動させる。

CWMが起動したら、wipe cache partitionを実行。

完了したら、advanced→Wipe Dalvik Cacheを実行。

これも終わったら、戻ってreboot system nowを実行。無事再起動できれば完了。

 

急ぎ足で思い出しながら書いたので、ちょっと自信はありませんが、こんな感じのはず。

カレンダー

2018年1月
« 11月    
 123456
78910111213
14151617181920
21222324252627
28293031  

カテゴリー

アーカイブ

PR