[ deodex script] deodexerious: all your base are belong to us!

Search This thread

nakedninja42

Senior Member
Oct 28, 2009
1,998
692
Bay Area, CA
Been banging my hand against the wall on this one... ouch.

I have made sure every Sun Java pack has been installed from JDK to everything else. From what I can tell its running v. 1.6.

I made a new copy of my system folder and grabbed everything this time and moved it to my Linux box and re-downloaded your script zip... still getting the same message...

Granted it has been awhile since I had used Linux regularly but I shouldn't be having this much problems when it works for everyone else. I have looked through the script and made sure all my files are in the same location the script calls for them. One thing I noticed is the kitchen folder is empty (still has build decompiled and ready folders) but no files inside. I assume this does not matter as the files go through the folders to completion.

Any suggestions on how I can accomplish what seemed to be an easy task?
 
Last edited:

illdroid

Senior Member
Aug 23, 2008
70
34
Been banging my hand against the wall on this one... ouch.

I have made sure every Sun Java pack has been installed from JDK to everything else. From what I can tell its running v. 1.6.

I made a new copy of my system folder and grabbed everything this time and moved it to my Linux box and re-downloaded your script zip... still getting the same message...

Granted it has been awhile since I had used Linux regularly but I shouldn't be having this much problems when it works for everyone else. I have looked through the script and made sure all my files are in the same location the script calls for them. One thing I noticed is the kitchen folder is empty (still has build decompiled and ready folders) but no files inside. I assume this does not matter as the files go through the folders to completion.

Any suggestions on how I can accomplish what seemed to be an easy task?
so today I tried to deodex kb1 by myself, and it worked flawlessly, didn't get an error on framework-test or in any other jar or apk

did you try ./cleanall.sh before running ./deodexrom.sh?
 

nakedninja42

Senior Member
Oct 28, 2009
1,998
692
Bay Area, CA
so today I tried to deodex kb1 by myself, and it worked flawlessly, didn't get an error on framework-test or in any other jar or apk

did you try ./cleanall.sh before running ./deodexrom.sh?

The first time I ran the script, I selected deodexrom. It would start and the first framework am would get the error. Closed console and the execute cleanall and verify the all "deodex" are removed and then try again. I found a way to extract rfs finally, been making a copy of the system file on my phone to SD card. Probably not the brightest way to transfer files but i am learning. so I am going to try again today. If I have success ill post it, but I figure I might get the same results.



Sent from my SAMSUNG-SGH-I897 using XDA App
 

nakedninja42

Senior Member
Oct 28, 2009
1,998
692
Bay Area, CA
Ok... lesson 1, do not copy system files in use... D'oh!

Lesson 2, post after you exhausted your resources... D'oh!

I was able to extract the rfs I originally downloaded that I used to install to my phone. At the time I did not know how I can extract rfs (MagicISO is truly... magic)

I ran the script twice and came up with no errors at all and everything looks happy, I don't see any odex files in the deodex folder, so I assume that it worked correctly?

Thanks for putting up with my idiocracy.
 

illdroid

Senior Member
Aug 23, 2008
70
34
stay tuned
upcoming version will deodex XWJV1 2.3.2
actually will deodex all but email.apk
 

Mackzen

Senior Member
Apr 20, 2009
125
40
Hi, thanks for the script.

Just wondering if the script also zipalign the apks?

I can see zipalign exist in /lib but can't find anything in the script.
 

ohwarumbloss

Senior Member
Oct 9, 2010
1,169
805
Kalletal
Confirming Galaxy Ace

Ooooh thank you so very much !!!
I have no clue why I can't use the "Thanks" Button :(

I had some problems with the Permissions in Ubuntu 11.10 (I guess the Problems where more on my side of the keyboard than on the other...) but now I am runing your script and so far no Errors :) My Device is the Galaxy Ace 5830, the Systemfiles are from unofficial CyanogenMod.
I'll report back when I'm done..

THANK YOU !

---------- Post added at 03:42 PM ---------- Previous post was at 03:24 PM ----------

Most worked but here is an example of an error I got :

Extract Bluetooth.apk
Decompiling rom/system/app/Bluetooth


Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not find superclass Ljavax/obex/ServerRequestHandler;
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPath.java:784)
at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:668)
at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:98)
at org.jf.baksmali.main.main(main.java:278)
Error while loading class Lcom/android/bluetooth/opp/BluetoothOppObexServerSession; from file rom/system/app/Bluetooth.odex
Error while loading ClassPath class Lcom/android/bluetooth/opp/BluetoothOppObexServerSession;

Compiling classes.dex from rom/system/app/Bluetooth

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:571)
at java.util.ArrayList.get(ArrayList.java:349)
at org.jf.dexlib.DexFile$2.placeAt(DexFile.java:783)
at org.jf.dexlib.DexFile.place(DexFile.java:659)
at org.jf.smali.main.fixInstructions(main.java:255)
at org.jf.smali.main.main(main.java:203)
Packing
Cleaning up
Done.

Will pack and flash now..as I don't really use Bluetooth it wouldn't be a Problem :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    Here's a script I've built for my own ROM cooking purpose
    another purpose was to create a very easy to read script, so everyone can understand the magic of deodex

    had some hard time figuring all the BOOTCLASSPATH and all the signing magic (if you want to do it manually, the secret is: don't pack and sign!, just add the classes.odex to the original jar or apk...whatever...
    or use my script to automagically do all that)

    after one brick and jtag reincarnation and a few bootloops
    I present to you:
    DEODEXERIOUS !! (the only spartan deodex script)

    requirements:
    Linux
    zip
    * tested on my Ubuntu 10.10

    instructions:
    1. extract the included script
    2. put the content of system(including the system folder) inside the rom folder
    actually you can create a folder named system inside the rom folder and copy framwork and app folder there, it does not require any other files from the rom
    3. while in the console inside the extracted script directory execute from the console
    Code:
    ./deodexrom.sh
    4. wait and watch the console for errors (there shouldn't be any)
    5. when it is done, you should find the deodexed files inside the deodexed folder

    * if you want to start over just execute from the same place in the console
    Code:
    ./cleanall.sh

    tested and successfully deodexed:
    I897 UCKB1
    I9088 KP2
    I9088 ZNKP5
    I9000 XXJPY
    I9000 XWJS3
    I9000 XWJS5
    I9000 ZSJPG
    I9000 XWJV1 2.3.2, except email.apk


    it does not support already deodexed rom's!!! (why should it?)
    if you test other raw versions (even captivate ones) please inform the result, or problems found, I'll do my best to help

    careful
    the script is a very initial version
    it does inform errors human readable so watch the console for them

    oh! almost forgot , here's the script:
    http://dl.dropbox.com/u/3595341/deodexerious/deodexerious_03.zip

    change log:
    04/03/2011 - deodexerius_03
    added gingerbread XWJV1 2.3.2 - custom classpaths
    smali and baksmali 1.2.6
    case insensitive classpath helpers
    note:
    deodexerius can deodex all XWJV1 2.3.2, except email.apk

    27/02/2011 - deodexerius_02
    better support for the additional files in kp5 and kp2


    good luck!!
    1
    If someone could come up with one of these for windows they would be my hero

    Sent from my GT-I9000 using XDA App

    kind of like this one?
    http://xdaforums.com/showthread.php?t=700904
    1
    omg

    You saved my life man... thanks a billion! And add a donate link, I know I'd like to send a few bucks your way