ODEX, DEODEX & ZIPALIGN (Explained)
One advantage of Android is that you can customize how you like it. Customize to change not only the theme, ROM, kernel changes, many changes can be brought through the whole power of the device. The companies default ROM (stock ROM) remake to other developers to create custom ROM is called. We like the custom ROM, they are often written in the ROM’s description Fully Deodexed and Zipaligned see it, but many do not know what is meant by those words. Let’s see what these two terms mean.
ODEX, DEODEX & ZIPALIGN (Explained)
What is an ODEX File?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
What is a DEODEX
When a developer creates an APK, the APK file and save it as part of a separate .dex which are submitted to the Dalvik JVM’s Heap (which is a lot of fast) and the rest is deposited in the Stack. As a result, the two benefits. If anyone wants to reverse APK pm, then for him it becomes much more difficult. Some of the applications before loading the app’s startup is faster.
Now, those who create custom ROM with phailatake .dex always putting in the APK. The benefit is that it can be Theming. Custom ROM watch a lot of this can be seen in the text of the color red / blue. APK clock because of who they are deodexed. One of our favorite Cyanogenmod ROM deodexed.
However, there is a disadvantage. That is, Dalkiv Cache Clear to start the first time after the system takes a lot of time. Later, however, it does not. It is recommended to accept the part.
What is a ZIPALIGN
When an application is running with the more processes (such as in Android manifest) contacts. Launcher from her position as wants to know where he installed the system on, he does not want to learn from him is off, the data from one database. Android’s default memory block is 4 byte. In other words, 4 byte status from the heart of the system run time application that asks. Are arranged in a specific way by Zipalign APK eyeball so that the block is not supposed to be the same level of information. As a result, any manifest data from a particular place, if he can find. As a result, execution is faster.
Kaos Droid, AOKP ROM, etc. Zipaligned.
I hope you have been able to convey the meaning of these two bipartisanship. Of course, it will be from someone you have any questions in the comments.
How ODEX, DEODEX & ZIPALIGN Works
For the more geeky amongst us, Android OS uses a Java-based virtual machine for running applications, called the Dalvik Virtual Machine. A deodexed, or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK. An .odex file, on the other hand, is an optimized version of this same .dex file that is stored next to the APK as opposed to inside it. Android applies this technique by default to all the system applications.
Now, when an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By de-odexing these APK’s, a developer actually puts the .odex files back inside their respective APK packages. Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
Advantages and Disadvantages
The advantage of deodexing is in modification possibilities. This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first, since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times. However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used. Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
For a casual user, the main implication is in them-ing possibilities. Themes for android come in APK’s too, and if you want to modify any of those, you should always choose a de-doexed custom ROM.