Odexed vs. Deodexed – Difference Between..

..The Two Android ROMs Explained:

Seeing as how Android is fast becoming one of the fastest growing smartphone and tablet platforms out there, it’s surprising to note how little clear information is available for the uninitiated towards the platform that would actually explain what certain terms – those that experienced users are so familiar with that it seems second nature to them – mean.

XDA-Developers is one of the largest and most useful sources for learning Android, but let’s face it; the forum has all the information within it without a stellar search engine, and the user community, while being helpful, would mostly advise you to ‘use the search feature’ instead of answering all the beginner question that you may have. Thus, users are often found looking for those answers in places other than the forum. Well, I cannot promise answers to everything, but if you’re trying to comprehend the difference between a odexed and deodexedROM, you’ve come to the right place!

deodexed-odexed-android-roms

Explaining Odexed vs. Deodexed Android ROMs

You’re bound to have come across the term ‘deodexed’ if you’ve ever installed a custom firmware on your device, since almost all ROM developers choose to deodex their offerings. What this means for the average user, however, is a different story. To understand the concept, you’ll first need to grasp what odex files are, and why are the present in the OS in the first place.

Android (being based on Linux) uses application packages, or APKs, as they’re normally called, to tell the operating system what app to load and execute. If you’re at all familiar with Android, you’ll know that the OS works on the basis of partitions, out of which those apps that are contained in the /system partition are system apps (and cannot be changed or modified without having root level access, since they’re a part of the OS itself), while those contained within the /data partition are user apps and can be freely modified. The /system partition is the first one to load when the operating system boots up, hence giving priority to the apps contained within. It is with these apps that odex and deodex deal with.

What Are The Two Possibilities

Coming back to Android applications, there are two possible routes to follow, based on the fact that each app is comprised of an APK and a cache part that tells the Android Dalvik Virtual Machine (VM) what components does the app come with.

  • The cache for each APK is contained separately in a .odex file, which loads into the virtual machine at the time of boot, thus speeding up boot times. (Odexed)
  • The cache for each APK is contained within the APK itself as a classes.dex file, making the boot times slower as Dalvik VM is built up. (Deodexed)

Now, ideally, most OEMs choose to opt for the first route, for two major reasons. First, it makes modifying the system apps more difficult (thus making the OS more stable and secure), and two, faster load times for the OS itself, since the cache is built as part of the virtual machine itself. Confused? Allow me to explain.

Clearing Up the Confusion

In normal cases, where an Android firmware is odexed, the .odex files for each /system APK (which are stored outside of the APKs themselves) are written into the Dalvik Virtual Machine when the OS boots up. Since these .odex files contain preliminary load information about each system app, the OS knows what to expect when it’s booting up, and consequently, loads all these apps faster. Ultimately, for the user, it means that boot times are significantly sped up, and you can put your device to use much sooner.

As opposed to the above, in a deodexed (custom) ROM, there is no cache information within the Dalvik Virtual Machine at the time of boot, so when the system status up, it only gets to know which apps to load once the /system partition APKs are actively accessed. This, in effect, will result in a much longer boot time, since each APK will be processed one by one, and you will be able to use your device long after you’ve powered it up.

Deodex is Slower, Then Why Bother?

In real life, that’s not the case. With deodexed ROMs, only the first ever boot after clearing Dalvik cache is slower, and all subsequent ones will be the same as any odexed ROM. This is owing to the fact that during the first boot, all cache information is written to the virtual machine anyway, and hence, it will behave as any other firmware (until you clear the Dalvik cache once again).

Why ROM developers do it is because of the modification possibilities that it entails, especially theming. Since in a deodexed scenario, all the application code is contained within one single APK, the developer can simply modify the APKs values to apply any custom look and feel to the app itself, without breaking any functionality. This also opens up possibilities for changing different parameters of the app without affecting how others will operate. Since a dodexed package has no external dependencies, it gives more freedom to modify what they wish. On the other hand, with an odexed ROM, theming is absolutely impossible, since the .odex part of the application will always be in conflict.

android

The Bottom Line

It all boils down to this: while an odexed firmware is faster and more secure, a deodexed one gives more modification freedom, and is the only way possible to change the look and feel of system apps. In actual terms, deodexed ROMs are only slower in the first ever boot, after which they are the same speed as the former ones. Also, deodex doesn’t entail any serious security risks to your device, either, and you can rest assured that the millions of users opting for these aren’t suffering.

original article

Android 4.2.2 Leaked for Galaxy S III

Exclusive: I9300XXUFME3 – Android 4.2.2 Jelly Bean leaked firmware for the Galaxy S III – Download link included below.

S3-4.2.2-TOP2

We of SamMobile would like to give you the latest I9300XXUFME3 – Android 4.2.2 Jelly Bean test firmware for the Galaxy S III. Big Thanks to our insider who made this all possible.

Development on Android 4.2.2 update isn’t completely done yet. We do not know if Samsung will bring the new Galaxy S4 Camera features to the Galaxy S3. We expect Samsung to do this but we are not really sure if Samsung will do this with Android 4.2.2 or with 4.3 for the Galaxy S3.

Android 4.2.2 is still under testing phase by Samsung and they will release the official final Android 4.2.2 Jelly Bean update for the Galaxy S III in June. We wanted to give Samsung’s hardcore fans a sneak preview of what Samsung is up to at their dev center.

New enhancements in Android 4.2.2 update

– Android 4.2.2 – Build ID: JDQ39

– New S4 Lockscreen: Multiple Widgets, two Unlock effects (Ripple and Light), improved ripple effect than Android 4.1.2, ability to change clock size and set a personal message

– New Screen modes (From S4): Adapt Display and Professional Photo

– Daydream

– Driving mode

– Actionable notifications

– New Additions in Notification Center

– Completely revamped Settings UI (Tabbed interface – Exactly like the S4)

– Addition of Voice controls (Let’s you control various parts of the phone using voice commands – Galaxy S4 feature)

– Gallery modes have white background (When changing gallery modes to 3D the background changes to white)

– Full screen Samsung apps

– New S-Voice (from S4)

– New smart switch widget

– Found more? Tell us about them in the comments below!

WARNINGS

– This firmware will increase your binary counter but the current binary and system status will remain official.

– We have re-packaged this firmware from dump files.

– There is no modem in this firmware, so the Modem you will be using before flashing this firmware will remain the same.

– This is a pre-release firmware and not official from Samsung.

– We have fully tested this firmware and this firmware works perfectly as any other official firmware.

Firmware Details

Android Version: 4.2.2 – JDQ39 (Jelly Bean)

PDA: I9300XXUFME3

CSC: I9300OJKFME1

MODEM: N/A

Region: Middle East

Carrier: Branded

Changelist: 611730

Build Date: 8 May 2013

Download: I9300XXUFME3_I9300OJKFME1_ILO.zip

Flashing Instructions

– Unzip the file

– Open Odin 3.04 (already included in the firmware package)

– Restart phone in download mode (Press and hold Home + Power + Volume down buttons)

– Connect phone and wait until you get a blue sign in Odin

– Add I9300XXUFME3_I9300OJKFME1_HOME.tar.md5 to PDA

– Make sure re-partition is NOT ticked

– Start flash, sit back and wait a few minutes.

– If you encounter any issues with the firmware (Any FC, Bootloop etc)

– Boot into recovery mode (Home+power+vol up)

– Choose to wipe/factory reset. (THIS WILL ERASE ALL OF YOUR DATA INCLUDING YOUR INTERNAL SD CARD!)

– Then choose reboot and you should be good to go!

Screenshots