yashsingh1/xdaforums huggingface dataset:
[Captivate Android Development] Liv33viL:
Deodexing A Stock ROM Without The Device

No, you're not pissin' in the wind... although if you decide to - be sure the wind is at your back! :D

If you are familiar with decompiling and repacking the process is quite simple.

Sounds like you're looking for an Odin Flash...

You would first need to make a ROM backup of your device. Which I Highly Recommend ALWAYS doing whenever making mods to your device. You could do everything correctly and still get a bad flash. A PC hiccup or a device buffer overrun during a flash could turn a 5 minute project into a few hour or longer nightmare.

ROM Manager will only give you an image (which is awesome), but not what we're looking for, for this.

Use Titanium Backup or a similar backup utility. (My preference is Titanium Backup Pro) to backup the specific directories listed in the tutorial. /system/app and /system/framework. Once this has been completed Pull them via adb to your PC. Make a backup of the original app directory and framework directory complete with odex files before beginning the process.

*Edit: If new to command line, adb or Android SDk - you could also set your device to USB Mass Storage Mode to grab the backup files off your device - and - load the deodexed files back to the root of your SDCard.

*Note - you will need to unplug your device a couple of times and will be bouncing between Debugging mode and Mass Storage Mode if you decide this way is for you.

Now complete the deodexing process in the tutorial.

You'll need your original ROM to decompile for the process. Once you have decompiled and extracted the respective directories, repack the ROM with the deodexed files you have just created, once recompiled - flash the modified ROM PDA with Odin. - No need to use a .PIT file and it should not be checked, but verify that repartitioning is unchecked - and reboot after flash is checked.

Are you just not comfortable with adb, more familiar with Odin or just hesitant to work with live files?

The process is smoother if when you complete the process of deodexing - you just kill the services / process in the device ---> Copy the completed file fiolders to you internal SDCard---> Push the appropriate files back into their respective directories -----> Change the permissions for the app and framwork directory files ----> Reboot the device ---- Welcome home!

The above process, IMHO, is a little quicker than pulling the files, deodexing, backing up, create the tar file, recompile, flash the tar, keep fingers crossed, hope for a good Odin flash...etc...

I hope this was detailed enough for you.

If this has been helpful to you - remember to show your gratitude by giving thanks.

If you have any further questions or concern....you know where to find me :cool:

Peace-
[Captivate Android Development] madguitarist63:
Awesome man. I flashed a custom ROM and being a bit of a noob I read through the whole OP (like you should if your a noob) and never understood the deodex. Great work preciate the info.

Samsung Vibrant - Simply Honey 2.5
[Captivate Android Development] Whitehawkx:
Have you guys tried this program out? - http://xdaforums.com/showthread.php?t=915732&highlight=auto-deodexer
[Captivate Android Development] Liv33viL:
Another Success...

Fantastic MG63,

Glad to see all that are acquiring an education about some specifics while using it to have a blast with their devices.

*Having some simple things done for you without the understanding of the process... keeps you in the dark...

*Taking the time to investigate and acquire knowledge... is a breeding ground for enlightenment...

Peace-
[Captivate Android Development] TigerEnigma:
Liv33viL,

Excellent response! I really appreciate you taking the time out to write that up for me (us). Tapped the "thanks" button for ya, will hit it up again.

Yes, I was referring to the type of zip file you get when you download a stock rom off of samfirmwares (ie JS7). I would not typically put this directly on my phone to pull the files off of via adb. I would take the factory.fs file and export the goodies, then dig around in the system folder to deodex the apk's jar's.

I believe I understand what your getting at though...I certainly appreciate it man!
[Captivate Android Development] Liv33viL:
Glad To Be of Help To Those Who Seek It....

Fantastic TigerEnigma, good on ya'

The file you are referring to is a .tar file (it is compiled and compressed and typically used within an open source file structure)

Just to keep it simple... try your hand with using the 7Zip file tool or you can even try the APK manager. I don't have the link to the thread handy but I'm sure a simple search will provide it for you.

Although I haven't tried running a file the size of a Production Build ROM through APK Manager, therefore I cannot verify it's accuracy or stability with files of this size.

You may want to dissect the ROM with 7Zip first then make your tweaks, then repack and compile... just a thought..

If I am able to help you out with anything else... just "Stand Up And Shout" R.J.D.

TM

Good Luck bud...

Peace-
[Captivate Android Development] Liv33viL:
Thank you for the very informative and detailed post Raj,

It's always a pleasure receiving some good quality input to pass on to others.

Time permitting, I will compose a script and compile a CWM process file that performs as stated above. - Not difficult to do, just time restraints.

If all looks good after testing goes positive... I will post the new CWM File with instructions how to do so.

All the best

Peace-
[Captivate Android Development] Liv33viL:
Hierarchy Correction

Just a brief correction I need to post in re reading Raj's post #41

Where it states as posted for the directory hiearchy:

/META-INF/com/android/google/ - is incorrect

/META-INF/com/google/android/ - is correct

for all those following along at home...

Peace-
[Captivate Android Development] bavarianblessed:
I'll be honest, I'm very comfortable flashing and modifying my Captivate after having it for a few weeks and successfully flashing every frekin ROM in this forum. I'm learning more and more as I play with it but I had no idea what the term odex or deodex meant until I read your OP. Thanks for learnin me;)
[Captivate Android Development] Liv33viL:
Keep On Learning Something New....

Excellent bavarianblessed!

Glad that you came across this thread, and actually read the OP! :)

As I find more and more each day, many just skip to the last current page of a thread or a post page and start asking questions from there back - that are plainly listed in either the OP or the thread. Not just in this forum, but many forums in many various inerterests.... I dunno man... lol

Anyway - the point is - Glad this information left a positive impact on you!

Peace-
[Captivate Android Development] :
+1. I agree. People have a tendency to make remarks when they aren't needed. *cough* Mikey *cough*.
[Captivate Android Development] ratatouille:
If I have Rogers stock 2.2 on my Captivate, and I root it, can I...

(take you breath, it's a long question)

Deodex and create a CWM zipeable file so I can play and have fun with the stock ROM whenever I want (of course my intention is to switch modem and kernel, and maybe try to do some framework editing, but I would like the stuff that is in the stock ROM, don't ask me why.... I'm that kind of freak!)
[Captivate Android Development] lauchon:
by now, all that I need it to know:

What is odexing?

What is deodexing?

Why you may consider deodexing over odexing.

thanks a lot!!!
[Captivate Android Development] Liv33viL:
Odex in a CWM File....

Certainly you can do this.

Although, earlier in the month, I was going to create a CWM file an post it.... but during the compiling of the CWM file it dawned on me that each file will most likely be different for every user on every device, so it wouldn't really be beneficial for me to do so anticipating that each person would like their device restored to exactly what they originally had.

This would also help alleviate some of the minor issues that some experience while importing (hot files) into a live environment.

Although stopping the services while importing the app files and framework files back works well, some still experience minor issues with a file or two misbehaving on re-entry, for some odd reason.

One would need to package their own files from their own stock ROM on their own device to assure that you are replacing exactly what you removed for this to be of any benefit.

Always be sure to have your backup(s) handy. I would recommend the stock backup both the App directory with odex files and Framework directory with odex files odexed and a backup of each of the App / Framework directories after the process (deodexed).

Again, the primary purpose of this tutorial was an education while performing the process.

Automation is great, if it is created and executed correctly, but if you have no working knowledge of what's going on in the process - how could you really know what the automation is doing to your device ?? - Just a thought to the wise...

One's troubleshooting technique would be to flash over or re-flash. To me that's not troubleshooting a specific issue, that's just smoothing over the problem.

On that note...

Good luck

Peace-
[Captivate Android Development] Liv33viL:
Alway Learning Something....

You're quite welcome !!!

Peace-
[Captivate Android Development] jnks123:
i try to deodex 2.3.3 everithing is ok,but when i try to finish the comant promt from adb i have this error :cp error writing not enough space on device.

any tips?

thanks
[Captivate Android Development] Liv33viL:
Space Issues...

Running Gingerbread... The process is the same for Froyo and Eclair, etc...

Well there could be one of a few things going on.

Check each of these to verify:

1: Make sure that your device is rooted or still rooted and that the proper permissions (R/W) are set for the directories prior to mounting.

2: Verify the file sizes of each directory /system/app and system/framework are within the scope of what they should be. Compare each directory file size prior to and post the dodexing process. (ie: system/app = 15MB (before with odex files) and system/app = 13.5MB (after without the odex files). You should notice that the "new" directories should be smaller in size.

3: Ensure that you are NOT copying the odex files back to their respective directories along with the completed Application and Framework files. (The odex files should be omitted on return back to the device)

4: Sometimes during the "copying" process of a file or directory, more space is needed to create the copy image, like a temp file, cache file or paging file. In this case you may want to consider "moving" the files back as opposed to copying them back.

5: Ensure that all services on your device have been stopped prior to pushing the completed Application and Framework files back to the device.

If after walking through the above steps your device still gives a space warning or error...

6: Ensure that you have the full backups for both directories, in their native states (odexed).

*Important*

While performing and immediately following this next task - DO NOT press any buttons on the device. This includes the Back Button, Home Button, Application Screen Button, Any Button or Screen Icon !! - If you do - Your device will undergo a multitude of force closes and freeze the device while putting excessive strain on the battery and internal components.

7: With the devices' services stopped, "remove" just the odex files from each directory. Once the odex files have been safely removed. "copy" (overwrite the existing files) the "new" deodexed Application files to the system/app directory, then the new deodexed Framework files to the system/framework directory.

8: Once complete - Reboot the device immediately.

9: Once the device boots back up (this will take a bit longer than usual) Do Not open anything or press any menu buttons to check the applications. Immediately reboot the device into recovery mode and select the option to "wipe dalvik cache" - select this option, then reboot the device again.

10: The device will take longer than the last time to boot up - don't panic. The device is just rebuilding the dalvik cache directory structure for the new type files.

Now you should be good to go...

Let me know how you made out after this process.

Good luck

Peace-
[Captivate Android Development] jnks123:
I would like to thank you for your guide i will follow all the instructions. I was wondering if this error has to do with ext4 partition because when reboot in recovery the first thing that CWM3 checking is the ext4...I use the new C WM3 RFS (version1.20). I live in the Netherlands and i have on SGS I-9000 GT_I9000_XXJVK_XXJVK_OXAJVK but i have with one modification the CSC from Netherland (XEN) and not (KOR).

thanks,
[Captivate Android Development] Liv33viL:
You're quite welcome! - Glad you found this information useful.

Well, the CWM version shouldn't really interfere with the process if there is a menu item that states that the version that you are using currently supports the action you are trying to perform.

I'm really not all that positive that CWM3 is fully stable. But most of the versions that I have looked into CWM 2.x.x.x appear to have what is needed to perform this task.

I typically use CWM 2.5.1.3 or CWM 2.5.1.2. The CWM 2.5.1.3 handles the EXT4 file partitions and has more menu features to work within the EXT4 partition.

The process stated in the tutorial should really not have any bearing on whether or not your device is supporting RFS or EXT2, Ext3 or EXT4.

Good luck...

Peace-
[Captivate Android Development] jnks123:
Dear friend,

here is the log file from test,if you can see there is a failure at busybox and then deodex fails too.In the main.exe procedure everything looks ok according to XULTIMATE with out errors. I made the copy delete procedure with super manager then reboot the device

and immediatelly reboot in recovery to wipe dalvik cache. The divece is rebooting and comes to the start page,but somethings are not working(geen services sim kart e.c.t.) . I've check the system/app and system/framework there are not any odex files there. I think that from the deodexing procedure were missing some apps that they didn't go to the done_app. There is no problem to restore the system to the state before deodexing is only a minute. I want to thank you again for your help and i'm waiting for your feedback for this problem.

jnks123

p.s I solve the problem with manual copy and delete now the rom is full deodexed!!!

( 2:11:49,59 zo 03-04-2011)

****

C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\EgisTec\MyWinLocker 3\x86;C:\Program Files\EgisTec\MyWinLocker 3\x64;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Windows Live\Shared;c:\android-sdk-windows\tools;c:\android-sdk-windows\platform-tools

****

C:\Windows\system32\java.exe

****

Main ADB

Android Debug Bridge version 1.0.26

****

PATH ADB

Android Debug Bridge version 1.0.26

****

[ro.build.id]: [GINGERBREAD]

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

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

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

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

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

[ro.build.date]: [Sun Mar 20 14:46:30 KST 2011]

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

[ro.build.type]: [user]

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

[ro.build.host]: [SEI-28]

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

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

[ro.build.description]: [GT-I9000-user 2.3.3 GINGERBREAD XXJVK release-keys]

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

[ro.build.PDA]: [I9000XXJVK]

[ro.build.hidden_ver]: [I9000XXJVK]

[ro.build.changelist]: [75655]

****

3434ACAE971600EC

****

-Windows x86-

-adb pull- **PASS**

-odex- **PASS**

-7z- **PASS**

-busybox- **FAIL**

-java- **PASS**

-temp- **PASS**

-deodex- **FAIL**
[Captivate Android Development] Dani897:
im not a windows user but have used deodex scripts before on extracted roms on my linux machine. i dont really know much about the process its self. i was wondering about common bugs. i have deodexed roms for my infuse but the 2.3.6 roms always have a force close of android system on boot and some scripts leave the email app broken and other bugs. i see the op says you need to answer some questions about the device, what is the purpose of the questions? and if i want to learn more about deodexing to avoid these issues where can i find information on it? do you think this tool would better deodex the infuse rom?
[Captivate Android Development] gypsy214:
with the newers version of XUltimate 2.4 I'm trying to do this for the tmobile samsung galaxy s2 on stock ICS but some how i get errors,

I need help for some reason I cant do option 3 I get this error:

Starting AccuWeatherDaemonService.odex

*****************************************

* Deodexing... *

'java' is not recognized as an internal or external command,

operable program or batch file.

Press any key to continue . . .

*****************************************

MAJOR ERROR!! WITH DEODEXING! AccuWeatherDaemonService.odex

*****************************************

********DELETING INCORRECT FILES*********

please exit out of window "***Deodexing ADB Window, DO NOT EXIT!***"

Press any key to continue . . .

I have JAVA install... but i remember that sdk would not recognize it either so i had to make a JAVA_HOME variables so sdk could recognize it, is that being a problems with this that cant find java?

if so how can i past that

EDIT.. its because the path of java and now i got this

Error occured while loading boot class path files. Aborting.

org.jf.dexlib.Code.Analysis.ValidationException: Class Lcom/android/internal/app

/ActionBarImpl; has the interface Landroid/app/ActionBar; as its superclass

at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadSuperclass(ClassPa

th.java:834)

at org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:

683)

at org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280

)

at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:16

3)

at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPath(ClassPath.j

ava:131)

at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:111)

at org.jf.baksmali.main.main(main.java:293)

Error while loading class Lcom/android/internal/app/ActionBarImpl; from file .\o

rigi_frame\framework.zip

Error while loading ClassPath class Lcom/android/internal/app/ActionBarImpl;

Press any key to continue . . .

this link helped me get pass the first error and now i get the above ^^ http://wiki.answers.com/Q/How_do_yo...ternal_command_operable_program_or_batch_file
[Captivate Android Development] casper846969:
Dose this work on all roms
[Android Apps and Games] V4lve:
A great solution for those of you wanting to manage your music on your Android phone over Wifi from your PC. Musicbee can now treat a remote share as a virtual device. So install the Samba Filesharing app on your phone, Musicbee (the best freeware music app ever IMHO) on your PC and have fun. Musicbee is over at getmusicbee.com
[Android Apps and Games] DocMAX:
the problem is, media database is not being updated when syncing.
[Desire HD Q&A, Help & Troubleshooting] superstick1:
Hi. I was think of trying CyanogenMod ROM. I went to their download page and notice there is things like nightly, stable and RC. what does these 3 means? Hmm...
[Desire HD Q&A, Help & Troubleshooting] eliashadow:
Hi.Today i was tried for first time cm7 too....I have no idea about cm7 roms!I flashed this one http://xdaforums.com/showthread.php?t=905530 with straight download.Its very smooth and fast but have one bug...When u open the cam u see a black screen but is working...U can try this one too http://xdaforums.com/showthread.php?t=917271...But i think all of cm7 have some bugs...
[Desire HD Q&A, Help & Troubleshooting] Vispe85:
Nightlies are in constant development, so they are updated "nightly" and have the latest features and can also have some bugs. RCs are considered to be stable enough for everyday use, imo the nightlies are also as I've been using them almost since the launch of CM7 and haven't got any overwhelming problems. The stable ones are, well stable ones :p But the stable ones are CM6 and based on android 2.2 so they are "old" in that sense.

I would encourage you to try the CM7 RC2 or even the latest nightly as they really are great and you won't actually notice that it still is a work in progress :cool:
[Desire HD Q&A, Help & Troubleshooting] ghostofcain:
Stable - The latest stable release, the current 6.1.3 is froyo based and should be useable as a daily rom with no major bugs and very few minor bugs.

Release Candidate RC - This is a proposed release candidate (current one is Gingerbread based) for the next stable release, it should be stable enough to use as a daily rom (indeed I have had no problems running it), there may be a few major bugs and more minor bugs than you would find in the stable release.

Nightly - these are releases based on the latest release ( can be either based on stable or RC, currently based on RC2 ), aimed at adding new features, which may or may not work, or providing bug fixes to features already present (which again may or may not work).

Currently RC 2 is feature locked, therefore the nightlies are aimed at bugfixing or polishing features already present in preparation for the next stable release, As such the nightlies should improve upon the current RC, although it's not unknown for bugfixes to break functionality in a major way.
[Desire HD Q&A, Help & Troubleshooting] undave:
I can highly recommend CM7 RC2 with the Battery drain fix (#5) by mad-murdock.

I've been running it for the last 2 days, after coming from Android Revolution 3. It's fast, stable, and very light-weight.

Camera and video recorders work, however they're not quite as polished as the HTC versions.

Before the Battery drain fix, the battery life was terrible, however now it's better than Android Revolution.

Currently have 62% battery remaining, 13 hours after removing it from the charger.
[Desire HD Q&A, Help & Troubleshooting] superstick1:
OOO. Alright. THank you!
[Desire HD Q&A, Help & Troubleshooting] Chezbel:
The thread with information and a link to #5 patch is here. I've been running that for several days and it's great even with the latest nightly build. There are a couple of caveats so reading the thread will help.

http://xdaforums.com/showthread.php?t=984337&page=1
[Desire HD Q&A, Help & Troubleshooting] undave:
Any noticeable differences between RC2 and the latest nightly?

The only bug I've noticed with RC2 so far is the occasional freezing in landscape mode after finishing a call. Easily resolved by locking and unlocking the rotation though, so hasn't been an issue.
[Desire HD Q&A, Help & Troubleshooting] Chezbel:
I haven't noticed any new issues that aren't already in RC2. And with Mad's #5 battery patch idle power consumption is about 1% per hour, but you can use that on RC2 too.

Sent from an electronic thingy
[Android Apps and Games] olde_shrimp:
Low resolution contact pictures when syncing with Facebook. This especially occurs when using a stock or cyanogen mod build. HTC sense builds have good res pics when syncing...

Any possible fix? Its bugging me and seems like a fairly simple thing that Google should fix.
[Android Apps and Games] cyanide911:
Same questions. Bumping.
[Android Apps and Games] BreakTheLaw:
Glad I don't have to make a thread

Biggitybump
[Android Apps and Games] abhishek_turbo911:
Bumping once more ! I think its the problem woth sense ... the contact pics are really low res .. how do we rectify this ?
[Android Apps and Games] olde_shrimp:
Anyone have any ideas on how this can be solved?
[Android Apps and Games] cyanide911:
Bumping too. Weird that such a major issue has no solution apparantly.
[Android Apps and Games] BreakTheLaw:
Yo where my nerds at???

This fix should be cake
[Android Apps and Games] 007K:
+1 this is quite an annoying bug. Can't find a solution yet:confused: