I Have read a lot of info about odexed and deodexed ROMS. but still (and maybe cause I don't understand a lot of technicalities) I don't get, WHICH IS BETTER? and WHY?
odexed o deodexed????
If u can explain it in simple in words would be better, and sorry for asking a lot!
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.
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
Click Below link for Complete Guide.
http://www.addictivetips.com/mobile/what-is-odex-and-deodex-in-android-complete-guide/
Related
Can any body post tutorial for building a custom rom for G1 and Hero?
wrong area to post this... probably should take it off.
were should i put this thread then
Q&A buddy.
I wrote a few how-to's on compiling your own android build from source, i recommend starting here:
http://robblue2x.blogspot.com/2009/07/how-to-set-up-ubuntu-virtual-machine.html
it is a bit out of date now because android moves so fast, its incredibly hard to keep up to date!
robblue2x said:
I wrote a few how-to's on compiling your own android build from source, i recommend starting here:
http://robblue2x.blogspot.com/2009/07/how-to-set-up-ubuntu-virtual-machine.html
it is a bit out of date now because android moves so fast, its incredibly hard to keep up to date!
Click to expand...
Click to collapse
Just visited this link But how do modify the existing files of android OS ?
If you have to ask how to change the files then you probably shouldn't be messing with the code for an OS. There is alot to it. You need to know how to set up linux, Git, repo, sdk, emulator, learn java,maybe some C++, edit xml files, and compile the edited code just to name a few.
read this
If you get that working then all you need is a text editor to start changing code.
Good luck!
What about modding existing roms?
Here is what I know so far...
system apps are not individualy signed
Rom must be packaged in zip having 3 root directories.
data (holds apps normaly)
META-INF (holds some kind of build files... and android manifest)
system (holds the OS and scripts and such.)
Also boot.img in the root dir.
The update.zip needs to be resigned if repackaged.
=) that is it all that I have gathered after hours of searching.
I dont want to recompile a kernel as I dont need to modify one. I would rather leave that to the more experienced DEVs. All I want is to remove/replace few apps...
My questions:
How do you sign a file... (tried the sign java thing in ubuntu and I get some king of error... could not find library and what not...)
There is a windows batch file floating around I have not tryed that.
I have some basic understanding of code language and I can flollow instructions even if I have to find my way around some stuff... but this rom building is like black magic... Everyone is doing it no one wants to explain how its done... If its too damn hard then so be it. I can modify it on the back end after installing. I just believe in clean simple installs.
What generates the META-INF directory and the files in there. Seems like there is some instructions on setting permissions for certain files and (manifest) seems like signiture keys..
Is that generated when the file is signed?
is it manualy generated?
is can those files be modified?
I know if this is answered it would be helpful in letting people optimize the builds for their own needs.
Sorry for the long post. I hope this gets explained or I dont care if I have to read, give me a bunch of homework (links).
zambezy said:
What about modding existing roms?
Here is what I know so far...
system apps are not individualy signed
Rom must be packaged in zip having 3 root directories.
data (holds apps normaly)
META-INF (holds some kind of build files... and android manifest)
system (holds the OS and scripts and such.)
Also boot.img in the root dir.
The update.zip needs to be resigned if repackaged.
=) that is it all that I have gathered after hours of searching.
I dont want to recompile a kernel as I dont need to modify one. I would rather leave that to the more experienced DEVs. All I want is to remove/replace few apps...
My questions:
How do you sign a file... (tried the sign java thing in ubuntu and I get some king of error... could not find library and what not...)
There is a windows batch file floating around I have not tryed that.
I have some basic understanding of code language and I can flollow instructions even if I have to find my way around some stuff... but this rom building is like black magic... Everyone is doing it no one wants to explain how its done... If its too damn hard then so be it. I can modify it on the back end after installing. I just believe in clean simple installs.
What generates the META-INF directory and the files in there. Seems like there is some instructions on setting permissions for certain files and (manifest) seems like signiture keys..
Is that generated when the file is signed?
is it manualy generated?
is can those files be modified?
I know if this is answered it would be helpful in letting people optimize the builds for their own needs.
Sorry for the long post. I hope this gets explained or I dont care if I have to read, give me a bunch of homework (links).
Click to expand...
Click to collapse
my advice for signing files would be to read through this thread. stericson says that JF's autosigning tool will work in linux. if you still can't get it pm stericson, he is a very nice member and should be able to help you
Thanks... That worked in windows.
Im getting some FC's but I can at least work on that now...
I did remove everything from the MANIFEST before signing just in case something did not get overwriten correctly.
I don't mess with the manifest files, so try not touching them and see if that helps
Can any body describe what does these files do while building a theme and how to edit these files:
android.policy.jar
framework.jar
services.jar
build.prop
build.sapphire.prop
build.trout.prop
sabin123 said:
Can any body describe what does these files do while building a theme and how to edit these files:
android.policy.jar
framework.jar
services.jar
build.prop
build.sapphire.prop
build.trout.prop
Click to expand...
Click to collapse
the prop files are configuration files and should NOT be replaced if your making a theme.
the .jar's should only be messed with if your adding stericsons lockscreen. you will have to decompile them for it to work
How to decompile the services.jar files?
Check out my theme thread. It's from when I was porting Android but most of these questions are explained in pretty good detail with links for more info. That should help you out quite a bit:
http://forum.xda-developers.com/showthread.php?t=578421
Go to the second post
Thanks for the link..
What does deodex mean?
What is a deodexed rom/kernel?
Sent from my SAMSUNG-SGH-I897 using Tapatalk
Well since no one answered the question
from what i understand its like unzipping it so you can add stuff. Or fix things. But i may be way off here as im still a noob.
Http://lmgtfy.com/?q=What+is+a+deodexed+rom%
Sent from my SAMSUNG-SGH-I897
http://code.google.com/p/smali/wiki/DeodexInstructions
This tells you how to deodex a odex file. Basically an odex file is an optimized file that has device specific information regarding the dependencies of the BOOTCLASSPATH .jar files. They're primarily core.jar, ext.jar, framework.jar, android.policy.jar and services.jar. The process of deodexing is to extract all of that information for the odex file and create a classes.dex to put into the apk associated with the odex file. You have to basically tell the program, baksmali, what .jar files to look at but it takes a bit of research and trial and error to get a classes.dex file generated. You then need to add it to the apk and resign it, which requires yet another program autosign.
This process is not for the impatient or the faint of heart. You can actually do this on your PC with the correct files. Feel free to correct me if I'm wrong, I've just started messing around with deodexing.
Thanks!!!!
Hello,
I tried manually deodexing my /system/framework and /system/app with xUltimate according to this:
http://forum.androidcentral.com/mot...cks/30539-how-manually-deodex-your-phone.html
Now this has worked fine and I can also boot my phone fine with the deodexed files. But there is also on option in xUltimate to compress/optimize the apk files. If I do that and flash my phone with the compressed files, I get into a bootloop.
The compression seems to save a total of 20MB of space (from 103MB to 84MB) and I hope this could give the device a small speed improvement, but I just can't seem to get it to work.
I also know that there are ROMs out there that have all the files deodexed, but in 90% of cases these files are also modified (custom themes and whatnot) and I don't like that, I would just want a vanilla deodexed ROM so that I can make changes myself if I want to.
I have also searched the forum for 'xultimate' but couldn't find any hit. What are other people using to deodex/optimize/zipalign their ROMs? Are there any better utilities out there?
I'd be very thankful for any tips/tricks.
Thank you!
Lately I've seen a lot wrong information being posted about ART and deodex/odex, so let me clear some things up. This is focused on Google builds and not AOSP built ones,
First - ART is not for odex only, actually it's for deodex only. The problem has been that people are deodexing the system when it's not necessary as Google's builds are already deodexed and those dex files are the ones that are optimized for ART, so in reality all you have to do is delete the odex files if you want to be deodexed
Second - Odexing a ROM(or in stock form) and leaving the dex files in the apks/framework, completely negates the point of odex files, as from my testing, if a dex is present, the odex is ignored and the classes.dex is built into the dalvik-cache folder, so claims of space saving, etc are wrong. Easiest way to see is by clearing your dalvik-cache and seeing the number of apps in the Android is upgrading message while booting, ie, on my phone, deodexed I have 113 files to optimize(build dalvik-cache files), odexed while leaving the dex files, 113 and true odexed with no dex files, 37. Now if you don't care for ART and really want to the benefits of an odexed system, then remove the dex files but be sure to zipalign the apks.
ART odex
Calkulin said:
Lately I've seen a lot wrong information being posted about ART and deodex/odex, so let me clear some things up. This is focused on Google builds and not AOSP built ones,
First - ART is not for odex only, actually it's for deodex only. The problem has been that people are deodexing the system when it's not necessary as Google's builds are already deodexed and those dex files are the ones that are optimized for ART, so in reality all you have to do is delete the odex files if you want to be deodexed
Second - Odexing a ROM(or in stock form) and leaving the dex files in the apks/framework, completely negates the point of odex files, as from my testing, if a dex is present, the odex is ignored and the classes.dex is built into the dalvik-cache folder, so claims of space saving, etc are wrong. Easiest way to see is by clearing your dalvik-cache and seeing the number of apps in the Android is upgrading message while booting, ie, on my phone, deodexed I have 113 files to optimize(build dalvik-cache files), odexed while leaving the dex files, 113 and true odexed with no dex files, 37. Now if you don't care for ART and really want to the benefits of an odexed system, then remove the dex files but be sure to zipalign the apks.
Click to expand...
Click to collapse
If I correctly understand what you are saying, then there is no point in having odexed .jar or .apk files when using the ART runtime. Is that right?
I'll admit that was a bit hard to understand but i think im getting the same message as the guy about me if that is correct
As an Android newbie, what bothered me most was coming across terminology beyond my comprehension. Not coming from a Linux background it became hard to keep up with the oh-so-commonly-used words spread all across the development community. Likewise, since I didn’t understand the terms, consequently I was unable to determine is something was of any use to me or not. From what I have seen, this problem extends to many novice and even average users.
One commonly occurring word when playing with custom ROMs and firmware, and even themes is deodexed and odexed. Most users fail to understand what these terms actually imply, and while developers would boast again and again about their themes and ROMs being deodexed, the average user is left clueless as to what is going on.
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.
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
HOW THIS 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 deodexing these APKs, 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 & 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 theming possibilities. Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Was this article helpful? If you are confused with some other terms and want us to help explain them, please let us know in the comments.
Screen Shots
Reserved 2.
Help for getting the deodexed files onto Galaxy Tab S 8.4
I have deodexed the 'app', 'priv-app', and 'framework' folders and the build.prop file using the JoelDroid batch deodexer tool (as outlined in this thread). I am looking for help for getting the deodexed files onto my Samsung Galaxy Tab S 8.4 (running Lollipop 5.0.2). My ROM is currently rooted with Knox 0x0 and I used FlashFire to get my device rooted and updated to lollipop (as outlined in this thread) - and as a result - I don't have a custom recovery such as TWRP installed. I read this guide that calls for deleting the old 'app', 'priv-app', and 'framework' folders and (via recovery) copying the new folders (with the deodexed files) to /system.
Since I don't have a custom recovery installed - what's the best way to get the deodexed files onto my device so that I can have a deodexed ROM (& still retain my Knox 0x0 status)?
Thanks for the help!
I think the only way is by installing Custom Recovery,
but, i will look for a way.
UPDATE: use your deodexer tool while following this steps without using the tool given there, the only downside is you need TWRP installed.
link : http://forum.xda-developers.com/galaxy-tab-s/themes-apps/how-to-deodex-stock-rom-t3254734
rob.allen78 said:
I have deodexed the 'app', 'priv-app', and 'framework' folders and the build.prop file using the JoelDroid batch deodexer tool (as outlined in this thread). I am looking for help for getting the deodexed files onto my Samsung Galaxy Tab S 8.4 (running Lollipop 5.0.2). My ROM is currently rooted with Knox 0x0 and I used FlashFire to get my device rooted and updated to lollipop (as outlined in this thread) - and as a result - I don't have a custom recovery such as TWRP installed. I read this guide that calls for deleting the old 'app', 'priv-app', and 'framework' folders and (via recovery) copying the new folders (with the deodexed files) to /system.
Since I don't have a custom recovery installed - what's the best way to get the deodexed files onto my device so that I can have a deodexed ROM (& still retain my Knox 0x0 status)?
Thanks for the help!
Click to expand...
Click to collapse
Thank you so much! I recently started to explore things like custom ROMs on my SM-T800. I can definitely use a crash course in things like this. Especially since I have not (yet) been able to get Xposed on CM 12.1, pacman-ROM and Phoenix-ROM.
Thanks!
rob.allen78 said:
Since I don't have a custom recovery installed - what's the best way to get the deodexed files onto my device so that I can have a deodexed ROM (& still retain my Knox 0x0 status)?
Thanks for the help!
Click to expand...
Click to collapse
Either create a flashable zip with those files or unpack the whole system image and replace those files/folders and create a flashable zip from that. Flash with flashfire.
You will need to set the correct permissions so best to use something like archi kitchen to automate it.
However considering there are a plethora of deodex roms currently available why bother?
DUHAlgerianSkills said:
I think the only way is by installing Custom Recovery,
but, i will look for a way.
UPDATE: use your deodexer tool while following this steps without using the tool given there, the only downside is you need TWRP installed.
link : http://forum.xda-developers.com/galaxy-tab-s/themes-apps/how-to-deodex-stock-rom-t3254734
Click to expand...
Click to collapse
Thank you for the reply. I was hoping that there was a way to do it without having a custom recovery. If I am not mistaken, flashing a custom recovery will trip Knox correct?
---------- Post added at 10:45 AM ---------- Previous post was at 10:34 AM ----------
ashyx said:
Either create a flashable zip with those files or unpack the whole system image and replace those files/folders and create a flashable zip from that. Flash with flashfire.
You will need to set the correct permissions so best to use something like archi kitchen to automate it.
However considering there are a plethora of deodex roms currently available why bother?
Click to expand...
Click to collapse
I may explore creating a flashable zip (any links for newbie to creating flashable zips?) The reason being is that there aren't any deodexed ROMS (stock tw) running the latest official build for my tablet (I am running bulld LRX22G. T700XXU1BOI1)
Thanks for these explanations
Create a flashable zip for your tab using this
https://play.google.com/store/apps/details?id=zip.me
i donno how it works but seems legit, check it out.
rob.allen78 said:
Thank you for the reply. I was hoping that there was a way to do it without having a custom recovery. If I am not mistaken, flashing a custom recovery will trip Knox correct?
---------- Post added at 10:45 AM ---------- Previous post was at 10:34 AM ----------
I may explore creating a flashable zip (any links for newbie to creating flashable zips?) The reason being is that there aren't any deodexed ROMS (stock tw) running the latest official build for my tablet (I am running bulld LRX22G. T700XXU1BOI1)
Click to expand...
Click to collapse