【HTC J】SystemUI.apkのdeodexメモ

HTC JのSystemUI.apkをdeodexした際のメモです。

BOOTPATHの指定が足りないと以下のエラーが出ます。

Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException:
Could not find superclass Lcom/htc/fusion/fx/MessageListener;

これで詰まってる人がいるようなので、自分が行った方法をメモしておきます。

■必要なもの

・baksmali.jar/smali.jar (1.3.2で試しました)
・zipalign.exe (Android SDKに入ってます)
・7zip (7za以外でもOK)

■作業メモ

1.必要なものを端末からpull

$ mkdir framework
$ adb pull /system/framework ./framework
$ adb pull /system/app/SystemUI.odex
$ adb pull /system/app/SystemUI.apk

2.baksmaliでSystemUI.odexを展開

$ java -Xmx1024m -jar ./baksmali.jar -c :core.jar:core-junit.jar:bouncycastle.jar:\
> ext.jar:framework.jar:framework2.jar:android.policy.jar:services.jar:apache-xml.jar:\
> HTCDev.jar:HTCExtension.jar:filterfw.jar:com.htc.android.bluetooth.jar:wimax.jar:\
> usbnet.jar:com.orange.authentication.simcard.jar:com.htc.fusion.fx.jar:\
com.htc.lockscreen.fusion.jar -d framework -x SystemUI.odex -o systemui

良く分からないのでBOOTPATHは全部追加。
改行の説明とかは、deodex化するような人はわかるだろうから省略。

★上記BOOTPATHは、1.31.920.1 の場合です。バージョンが変わると
パスも変わるので実際は、/init.rcBOOTCLASSPATHを確認して指定して下さい。

3.dex化

$ java -Xmx1024m -jar ./smali.jar systemui -o classes.dex

4.classes.dexの統合

元々の classes.dex を削除して上書き。
7zipで SystemUI.apk 開いて、Drop&DrugでもOK

$ 7za d -tzip SystemUI.apk classes.dex
$ 7za a -tzip SystemUI.apk classes.dex

5.Zip alignment

$ zipalign.exe -v 4 SystemUI.apk zip_SystemUI.apk
Verifying alignment of zip_SystemUI.apk (4)...
54 META-INF/MANIFEST.MF (OK - compressed)
44743 META-INF/CERT.SF (OK - compressed)
91092 META-INF/CERT.RSA (OK - compressed)
92286 AndroidManifest.xml (OK - compressed)

$ mv SystemUI.apk SystemUI.apk.old
$ mv zip_SystemUI.apk SystemUI.apk

これでdeodex化したSystemUI.apk完成

6.CWMでファイル置き換え

元のファイルをrenameしたりmvしたりしてバックアップ。
deodex化したSystemUI.apkをいれて終了

$ adb shell mount /system
$ adb shell cp -pr /system/app/SystemUI.apk /system/app/SystemUI.apk.orig
$ adb shell mv /system/app/SystemUI.odex /system/app/SystemUI.odex.orig

$ adb push SystemUI.apk /system/app/
3328 KB/s (3508667 bytes in 1.029s)

$ adb shell chmod 644 /system/app/SystemUI.apk

再起動して、正常に起動したら完了。

★こちらで作成した、SystemUI.apkを置いておきます。⇒SystemUI.zip (1.31.920.1)
2012/10/10更新 2.05.970.3版はこちら⇒ SystemUI-2.05.970.3.zip


コメントする

メールアドレスが公開されることはありません。