[HOW-TO] Manually deodex your phone.

Search This thread

yzak47

Member
Apr 1, 2010
25
0
I had this as well. All that part does is re-mount the system partition as RO (Read Only). This is done when you reboot as well. So if you rebooted at the end of the process, it was taken care of.

do you mean that i can dismiss this step after reboot the device?


i got the same situation as him,
"DEVICES OR resource busy"

then i typed reboot, the phone could successfully rebooted.

is that ok?
 

r6zer

New member
Jan 22, 2011
3
0
Can I use a terminal on the phone to copy all the deodexed files or do I have to do it through my pc?
 

allfaccino

New member
Feb 3, 2011
1
0
Rio de Janeiro
First off all thx for help!!
Cant do step 3, error msg, balck screen, I am with 2.2 rooted with speedmod 13E GT9000B, I made test and java failed, do you think this is the problem?:cool:
 

Wassimz

New member
May 20, 2011
1
0
Cairo
Lack of experience

That's what I did in the second part :

F:\android\platform-tools>adb shell
$ su
su
# stop
stop
# mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
# cp /sdcard/done_app/* /system/app/
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
cp /sdcard/done_frame/* /system/framework/
rm /system/app/*.odex
rm /system/app/*.odex
rm /system/framework/*.odex
rm /system/framework/*.odex
# cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
# # # mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
# reboot
reboot

?
 
Last edited:

cynnar

Senior Member
Aug 23, 2010
171
186
Grapevine
ghostlypickel; said:
1. Unzip xUltimate v2.2, and launch "Main.exe"
2. If everything goes well xUlt should recognize the phone and make a connection. You now should see a list of options.
3. Run option 1. After option 1 is done, run option 2.
4. Now these well take a while. Run option 3.
5. IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex". It's a bad file, and interferes with deodexing process.
6. Now run option 4, and wait.
7. Exit xUltimate, and put the phone in USB mass storage.
8. Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
9. Put the phone in PC mode
10. Open a command prompt, and do the following:

Code:
adb shell
su
stop
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
rm /system/app/*.odex
rm /system/framework/*.odex
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot

Your phone should now be deodexed!

You may notice an increase in speed, and you now have the ability to edit certain files with greater effects. (i.e. services.jar)

Many thanks to all involved to make this possible.http://media.xda-developers.com/images/smilies/smile.gif

I wanted to say I used this on the fascinate gingerbread leak.
Here is what I had to change to get it to work properly.

step 5 does not apply to (or at least not on the leak).

In adb shell I had to change
Code:
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
to
mount -t rfs -o remount,rw /dev/block/stl9 /system

Also I had a problem of
cp: write error: No space left on device

to solve this problem I simply ran the
Code:
rm /system/app/*.odex
rm /system/framework/*.odex
before the
Code:
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
and that solved all my problems.

My first attempt at this and it went great.
I hope this information will help others.
 
  • Like
Reactions: dendie701

cid85

Senior Member
Jan 21, 2011
173
19
oe7drt.com
Thank you so much for this tut, I just deodexed my XXJVP 2.3.4 Semaphore on the fly :)
(note, I've deleted lots of apks+odexs before in /system/app - just the crap I do not need)
Went down from about 80Megs to about 40Megs, sweet :)

PS: had to change "ext3" with "ext4" :)
 
Last edited:

sliwek86

New member
Jul 10, 2011
1
0
Hi I need help
Phone Galaxy S
SamFirmware I9000XXJVQ
xUltimate-v2.2.8

and I can't cope with this error
thx

Code:
(17:58:05,16 2011-07-10)
****
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Java\jre6\bin
****
C:\Windows\system32\java.exe
****
Main ADB
Android Debug Bridge version 1.0.26
****
PATH ADB
****
[ro.build.id]: [GINGERBREAD]

[ro.build.display.id]: [GINGERBREAD.XXJVQ]

[ro.build.version.incremental]: [XXJVQ]

[ro.build.version.sdk]: [10]

[ro.build.version.codename]: [REL]

[ro.build.version.release]: [2.3.4]

[ro.build.date]: [Fri Jun 10 22:00:38 KST 2011]

[ro.build.date.utc]: [1307710838]

[ro.build.type]: [user]

[ro.build.user]: [se.infra]

[ro.build.host]: [SEP-39]

[ro.build.tags]: [release-keys]

[ro.build.product]: [GT-I9000]

[ro.build.description]: [GT-I9000-user 2.3.4 GINGERBREAD XXJVQ release-keys]

[ro.build.fingerprint]: [samsung/GT-I9000/GT-I9000:2.3.4/GINGERBREAD/XXJVQ:user/release-keys]

[ro.build.PDA]: [I9000XXJVQ]

[ro.build.hidden_ver]: [I9000XXJVQ]

[ro.build.changelist]: [281085]

****
****
-Windows x86- 
-adb pull-    **PASS** 
-odex-        **PASS** 
-7z-          **PASS** 
-busybox-     **PASS** 
-java-        **PASS** 
-temp-        **PASS** 
-deodex-      **FAIL**
 

Attachments

  • 1.jpg
    1.jpg
    35.1 KB · Views: 100
  • 2.jpg
    2.jpg
    61.6 KB · Views: 128
Last edited:

invincible authority

Senior Member
Jul 9, 2011
582
130
Help me urgent

I started deodexing my samsung galaxy fit. After reaching the adb shell I didn't gave su permissions and went on executing the instructions. After a while error came. My phone was hanged. I removed the battery and restarted. But it loads the bootanimation again and again and I am not able go any further. Please help me guys..... I am in need
 

atomic339

Senior Member
Feb 11, 2011
990
43
I want to deodex my rom but with odex browser. How can I do it?
I need to make that because when I deodexed my browser it starts laggy. I have galaxy s II.
 

cdcarney

New member
Mar 8, 2009
2
0
Coeur d Alene
I am running into a problem at the cmd prompt. After entering 'su' I get 'permission denied'
1. I am on a rooted DX
2. Gingerale ROm Android v2.3.3
3. Sys v4.5..573

I apologize if this has been answered already but I just want further clarification going forward on these instructions. Thank you for all the hard work and answering all the questions as well.
 

UtCollector@gmail.com

Senior Member
Nov 7, 2011
244
89
How to make a update.zip of the deodexed files?

The program worked great for me. My phone is deodexed now:D thx! I only did not get a working update.zip using this program. The md5 info did miss.

How would the updater-script look if i would build a update.zip from the deodexed files my self?
 

damnkids

Senior Member
Jul 3, 2011
52
1
Need help...
Im not succes deodex with this method.
In line with cmd
cmd said:
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/

The error is no such file directory.
Why like that...
Anyone can solved the problem?
I use v 2.3.3 v605
Bootstuck at MOTOROLA logo.
 

spc_hicks09

Inactive Recognized Contributor
Jan 23, 2011
3,899
1,858
Marion, OH
www.facebook.com
Need some quick help please!

Everything is going great so far but while I'm in ADB and I type

Code:
cp sdcard/done_app/* /system/app

I get this back

Code:
cp: not found

Any help with this?

EDIT: Nevermind, had to reinstall busybox lol.
 
Last edited:

RK KINGKONG

Senior Member
May 26, 2011
199
32
Paterson,N.J
navigate to folder

where do i find this folder im a total noob , everything else worked fine except that i dont know where to look to delete the gauva file in the ultimate folder how do i navigate to it ?

disregard please fond right on desktop wow lol fail on my part
 
Last edited:

RK KINGKONG

Senior Member
May 26, 2011
199
32
Paterson,N.J
Bionic help please

I am trying this on the Bionic running the new OTA update of 893 . im trying to deodex for sure ..

everything went great except for when i tried to copy paste the commands into the command prompt , i only did everything under stop from the commands as someone else did the same and it worked for them ....the command prompt reads the following

'reboot' is not recognized as an internal or external command,operable program or batch file

what does that mean other than it can find it i guess lol .. any help is aprreciated thanks
 

m.usama

Member
Aug 27, 2009
18
0
stuck at Step 4

first of all thank u guys for this effort

what happened with me that I got throw steps 1,2 and 3 when i tried Step 4 at the 12 process it gaves me this error

PLZ help me

Starting framework.odex
*****************************************
*******THIS WILL TAKE A LIL BIT!!********
* Deodexing... *
Error while disassembling method Landroid/media/MediaPlayer;->stayAwake(Z)V. Con
tinuing.
org.jf.dexlib.Code.Analysis.ValidationException: class Lcom/irdeto/drm/oma/DrmCo
ntent; cannot be resolved.
at org.jf.dexlib.Code.Analysis.ClassPath$UnresolvedClassDef.unresolvedVa
lidationException(ClassPath.java:535)
at org.jf.dexlib.Code.Analysis.ClassPath$UnresolvedClassDef.getClassDept
h(ClassPath.java:543)
at org.jf.dexlib.Code.Analysis.ClassPath.getCommonSuperclass(ClassPath.j
ava:384)
at org.jf.dexlib.Code.Analysis.RegisterType.merge(RegisterType.java:275)

at org.jf.dexlib.Code.Analysis.AnalyzedInstruction.mergeRegister(Analyze
dInstruction.java:185)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.propagateRegisterToSuccess
ors(MethodAnalyzer.java:444)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.setPostRegisterTypeAndProp
agateChanges(MethodAnalyzer.java:424)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.setDestinationRegisterType
AndPropagateChanges(MethodAnalyzer.java:396)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeIgetWideObject(Meth
odAnalyzer.java:2601)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodA
nalyzer.java:776)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.jav
a:208)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMetho
dItems(MethodDefinition.java:370)
at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefini
tion.java:292)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition
.java:323)
at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefi
nition.java:292)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:136)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:201)
at org.jf.baksmali.main.main(main.java:282)
opcode: iget-object
CodeAddress: 163
Method: Landroid/media/MediaPlayer;->stayAwake(Z)V

Error while disassembling method Landroid/media/MediaPlayer;->setDataSource(Land
roid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V. Continuing.
org.jf.dexlib.Code.Analysis.ValidationException: class Lcom/irdeto/drm/oma/DrmCo
ntent; cannot be resolved.
at org.jf.dexlib.Code.Analysis.ClassPath$UnresolvedClassDef.unresolvedVa
lidationException(ClassPath.java:535)
at org.jf.dexlib.Code.Analysis.ClassPath$UnresolvedClassDef.getClassDept
h(ClassPath.java:543)
at org.jf.dexlib.Code.Analysis.ClassPath.getCommonSuperclass(ClassPath.j
ava:384)
at org.jf.dexlib.Code.Analysis.RegisterType.merge(RegisterType.java:275)

at org.jf.dexlib.Code.Analysis.AnalyzedInstruction.mergeRegister(Analyze
dInstruction.java:185)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.propagateRegisterToSuccess
ors(MethodAnalyzer.java:444)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.setPostRegisterTypeAndProp
agateChanges(MethodAnalyzer.java:424)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.setDestinationRegisterType
AndPropagateChanges(MethodAnalyzer.java:396)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeIgetWideObject(Meth
odAnalyzer.java:2601)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodA
nalyzer.java:776)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.jav
a:208)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMetho
dItems(MethodDefinition.java:370)
at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefini
tion.java:292)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition
.java:323)
at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDef
inition.java:308)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:137)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:201)
at org.jf.baksmali.main.main(main.java:282)
opcode: iget-object
CodeAddress: 220
Method: Landroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Land
roid/net/Uri;Ljava/util/Map;)V

Press any key to continue . . .
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    I AM NOT RESPONSIBLE FOR WHATEVER HAPPENS TO YOUR PHONE!

    You must be rooted!


    This is a guide on manually deodexing, you phone. (Duh!)

    The reason I am making this tutorial is because I could not get my theme to work with Teenfaces deodexed nandroid. You may want to follows this if you have the same problem as me, or if you just want to take a shot at doing it.

    What you'll need:
    A Windows based machine
    xUltimate v2.2
    Patience

    Process:

    1. Unzip xUltimate v2.2, and launch "Main.exe"
    2. If everything goes well xUlt should recognize the phone and make a connection. You now should see a list of options.
    3. Run option 1. After option 1 is done, run option 2.
    4. Now these well take a while. Run option 3.
    5. IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex". It's a bad file, and interferes with deodexing process.
    6. Now run option 4, and wait.
    7. Exit xUltimate, and put the phone in USB mass storage.
    8. Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
    9. Put the phone in PC mode
    10. Open a command prompt, and do the following:

    Code:
    adb shell
    su
    stop
    mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
    cp /sdcard/done_app/* /system/app/
    cp /sdcard/done_frame/* /system/framework/
    rm /system/app/*.odex
    rm /system/framework/*.odex
    mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
    reboot

    Your phone should now be deodexed!

    You may notice an increase in speed, and you now have the ability to edit certain files with greater effects. (i.e. services.jar)

    Credits:
    Rainabba and Mike919: For initially working with me to get a white clock, and later deodex.
    toxman: For testing, and being a huge risk taker.
    teenfaces: For letting me use his services.jar
    And especially Xeudoxus: For letting me a guinea pig, for xUltimate, and answering my questions. And also for the making the xUltimate tool. It defiantly makes thing easier.
    1
    So when you run the test and everything passes except odex, does that mean the deodex worked? it seems like nothing would be left odexed because you deodexed it. does that sound right. I know this was mentioned through the thread but was never fully answered.

    How do you know for sure if it worked or not?

    Thanks, Hell
    1
    ghostlypickel; said:
    1. Unzip xUltimate v2.2, and launch "Main.exe"
    2. If everything goes well xUlt should recognize the phone and make a connection. You now should see a list of options.
    3. Run option 1. After option 1 is done, run option 2.
    4. Now these well take a while. Run option 3.
    5. IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex". It's a bad file, and interferes with deodexing process.
    6. Now run option 4, and wait.
    7. Exit xUltimate, and put the phone in USB mass storage.
    8. Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
    9. Put the phone in PC mode
    10. Open a command prompt, and do the following:

    Code:
    adb shell
    su
    stop
    mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
    cp /sdcard/done_app/* /system/app/
    cp /sdcard/done_frame/* /system/framework/
    rm /system/app/*.odex
    rm /system/framework/*.odex
    mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
    reboot

    Your phone should now be deodexed!

    You may notice an increase in speed, and you now have the ability to edit certain files with greater effects. (i.e. services.jar)

    Many thanks to all involved to make this possible.http://media.xda-developers.com/images/smilies/smile.gif

    I wanted to say I used this on the fascinate gingerbread leak.
    Here is what I had to change to get it to work properly.

    step 5 does not apply to (or at least not on the leak).

    In adb shell I had to change
    Code:
    mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
    to
    mount -t rfs -o remount,rw /dev/block/stl9 /system

    Also I had a problem of
    cp: write error: No space left on device

    to solve this problem I simply ran the
    Code:
    rm /system/app/*.odex
    rm /system/framework/*.odex
    before the
    Code:
    cp /sdcard/done_app/* /system/app/
    cp /sdcard/done_frame/* /system/framework/
    and that solved all my problems.

    My first attempt at this and it went great.
    I hope this information will help others.
    1
    NOOB QUESTION : Will deleting all the .odex files from system/app counted as deodexing ?? :angel:

    simple answer. no