Deodexing com.htc.framework

This is just an small tutorial that shows how deodexing works.

First of all you need these three tools, deodexerant , baksmali and smali

Connect your phone with USB and make sure you can acces adb and then do the following:

adb push deodexerant /data/local
adb shell chmod 755 /data/local/deodexerant
adb forward tcp:1234 tcp:1234
adb pull /system/app/com.htc.framework.odex .
adb shell /data/local/deodexerant /system/app/com.htc.framework.odex 1234 &
java -jar baksmali.jar -x :1234 com.htc.framework.odex

Now that you have a deodexd files in the out folder you need to create the classes.dex file again.

java -jar smali-1.1.jar -d classes.dex out

It’s time to put the classes.dex in to the empty com.htc.framework.jar.

adb pull  com.htc.framework.jar
zip com.htc.framework.jar classes.dex

You have an deodexd com.htc.framework.jar, if you wish to use it you need to sign it:

java -jar ~/myandroid/out/host/linux-x86/framework/signapk.jar ~/myandroid/build/target/product/security/testkey.x509.pem ~/myandroid/build/target/product/security/testkey.pk8 com.htc.framework.jar signed.jar

You are done!