Some people don't know about an Odex or a Deodex Files. I'm gonna explain it to you in the most understandable way :highfive:
Almost all of the Rom here are deodex because it is easier to theme or modify the .apk file because odex files are hard to modify.
These .odex files are also in the same directory as the .jar or .apk file which is located at /system
What is an Odex File?
In 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. The odexed file structure works well as an optimization tool. 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, it loads apps faster.
On the other hand, it makes the applications difficult to modify/theme 'coz a part of the coding has already been extracted to another location before execution.
For example, in a system app there is:
Phone.apk ===> next to it will be ===> Phone.odex
the Phone.odex has some part of the codes.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What is a Deodex File?
It’s the process to take all the packages out from .odex file and reassemble them all together in classes.dex file which is kept inside the APK file in other word it will combine the .odex file to the .apk file and will become a classes.dex. By doing this, it can eliminate/remove the worry to modify the 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.
Example on the same system app:
Phone.apk ===> will no longer have a Phone.odex instead it will be bought inside the Phone.apk as ===> classes.dex
Advantages and Disadvantages
Odex files can build Dalvik Caches faster on the first boot and execution of an app will be faster..
but harder to theme unlike
Deodex files can be modified easier than odex files but building Dalviks and executions will have a slight difference in .odex
Credits
to this Thread
and Google Images :laugh:
You
ME
Related
How To Decompiling Or Editing Android's APK
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
step 1 : first apk file rename and last .zip to create zip file.
step 2 : then open *.zip file and classes.dex copy to dex2jar-0.0.9.9 folder.
step 3 : then folder on shift+right aerow and click open command window here.\
step 4 : then write on cmd in dex2jar classes.dex and enter press. this process is given on images.
step 5 : then getting classes_dex2jar file.
step 6 : then open jd-gui application and open file-> open file and open classes_dex2jar file.
step 7 : getting the code of application.
For Download This Software::
Click Here...
If You liked my work,Atleast Click Thanks Button,its Free,It encourages me.
awesome guide
helped me get a source code to popular android game so i can create my own game using the touch feature of source code:highfive::good:
Its the most complex guide I have ever seen
iamareebjamal said:
Its the most complex guide I have ever seen
Click to expand...
Click to collapse
It really is. Lol. I'm not going to keep looking at the screenshot and i'll just see if I can make it work on my own.
how do you get the resulting .zip from saving all sources of jd-gui since jd-gui doesnt actually allow modifications you have to save all sources wll end up with .java in a zip file, after editing the java files in the zip how do i get that zip back into the jar file to re dex it>?????
fieldsweeper said:
how do you get the resulting .zip from saving all sources of jd-gui since jd-gui doesnt actually allow modifications you have to save all sources wll end up with .java in a zip file, after editing the java files in the zip how do i get that zip back into the jar file to re dex it>?????
Click to expand...
Click to collapse
There are other, more straight forward guides to help.
its not hard, its impossible to understand!
FAILED!!!
Thank you so much, took. I will act.
Hey together.
(at first: I do not want use a finished custom rom. I am happy as my Rome is now running)
I Would like to deodex my JB Stock Rom to coustomize my self with Mods and other but for almost everything i used a deodexed Rom. I tried xUltima and the Android Kitchen, v0.223 by dsixda and both doesn't work.
On the Android Kitchen, v0.223 by dsixda i can't find my TWRP Backup and i don't know how i convert it or somthig else.
On xUltima i become instantly an Error. When i delete the odex file which caused the error i become instantly a another error.
Here is a Picture from xUltima:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
i have no idee how i fix this.
no one an idea?
Make a imitation ROM:
Create a dump.
Download Rhythm Manager's version of file manager.
Now go to / (self explanatory) and copy system.
It'll take a while, but copy it to sdcard.
Now copy the file onto computer. Find a ROM and copy the META_INF.
Make a empty boot.img.
Put the boot.img, system, and meta_inf into a zip folder. THis would be your ROM.
You can take it from there.
mr_verystock said:
Make a imitation ROM:
Create a dump.
Download Rhythm Manager's version of file manager.
Now go to / (self explanatory) and copy system.
It'll take a while, but copy it to sdcard.
Now copy the file onto computer. Find a ROM and copy the META_INF.
Make a empty boot.img.
Put the boot.img, system, and meta_inf into a zip folder. THis would be your ROM.
You can take it from there.
Click to expand...
Click to collapse
okay sounds quite simple but i have some questsions. it does not matter whitch META_INF i use? And how i make a empty boot.img? Can i put the Deodexed file back in the Data und Jar Folder or must i flash it?
Specimann said:
okay sounds quite simple but i have some questsions. 1) it does not matter whitch META_INF i use? 2) And how i make a empty boot.img? Can i put the Deodexed file back in the Data und Jar Folder or must i flash it?
Click to expand...
Click to collapse
1) Yes. Any ROM is okay. Just get it from an actual ROM.
2) Step 1: unhide extension by going explorer.exe --> organize --> Folder and search options --> view --> uncheck Hide extension ... --> click apply to folders--> Apply. Now simply make a .txt file on desktop and rename the extension as img, and the file name make it boot.
Today i am going to TEACH you how to convert ARMv7 games to ARMv6 without using pc, Its easy and no special ability requires it means even a noob can do this thing. so lets get started.
:thumbup:
What you need to have is........
1) ROOT Explorer(To OPEN APK FILE)
2) LIB Files of Unity Engines
3) Zipsigner (play store)
Download Links:
""""""""""""""""""""""
Download A TO Z LIB Files from hear
http://www1.datafilehost.com/d/20eebbea
Download ZIPSigner from this form PLAYSTORE !! (free)
============================
Instructions:
1) Using rootexplorer extract the APK File
Go to extracted apk folder and head to Assets>Bin>Data> and Open "MAINDATA" file in text viewer.
2) Now Check the Version of Unit
3) Now you have the info about the Unity Engine Version, in our case it is 3.5.5f3 so now you have to extract 3.5.5f3 libs which you have downloaded from above links. (u can see unity engine version on top after opening maindata in textviewer.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
4) Now using Rootexplorer Delete LIB Folder from extracted APK folder(while using rootexplorer u will find apk folder in speedsoftware>extracted) and Place ARMv6 lib folder now head to Assets>Libs and delete ARMv7 folder and place the armeabi-vfp. now we are almost done.
5) Now using rootexplorer zip the
APK folder. (Let suppose xyz.zip)
6) now open Zipsigner press input locate the zip (xyz.zip) folder u have created with amrv6 libs.
7) now go to signed output file
And give address
/sdcard/xyz.apk
(u can use ur ownname.apk name in place of xyz.apk)
8) Now select auto-testkey in KEY.
& SIGN UR APK
It will take few minutes an all done!!
And ur signed apk will place in ur sdcard (not any folder).
Install it and urEnjoy with chainfire 3D!! :thumbup:
NOTE: If you find Unity Engine
Version 4.0 or above it means its dead end and
those games can not be converted
Get ready 4a war!!
Don't forgot to press thanks
Bye!!
I would love to know how to open the rest of those files in there the ones that look like this: 0c23d38d2f2b445afa92ff0cf9388a76 there are usually dozens of them obviously on a PC but anyone know how to open them? this is the closest I found while searching and this thread is all I could find :?
XOLO A700 Deodexed Firmware
The amount of people asking for Deodexed XOLO Stock Rom was too much so thats why I am posting here! You can use this rom as base for your rom, Just PM me with a link to the thread!
This is the "FULL ROM" not just the App & Framework Folder
FEATURES:
Latest Busybox (Completely Symlinked).
Latest Indian firmware.
Rooted with latest Superuser.
Fully stock, no changes in UI.
Now works with any kernel.
Bugless & Rock Solid Stock Build.
INCLUDED KERNEL DETAILS:
STOCK Kernel
DOWNLOADS:
XOLO_A700_S107_1108
MD5: 54eed344f914ea87d4814a874323b695
SCREENSHOT:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
INSTALLATION:
Reboot into CWM.
Format system, cache and data.
Mount all partitions.
Flash ROM.
ADDITIONAL INFORMATION:
Know why you should "even" think of using the odexed version.
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.
Prevent this thread from dying.
Rate this thread ★★★★★
Press "Tip us?"
Press thanks
Post in this thread (I am not asking you to spam!)
Click to expand...
Click to collapse
Reserved
Hi guyz,
Today I want to share something about settings.apk mod….
Its about adding small details in about phone section…
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
NOTE: I have not copied it... Actually I was playing with some codes and got success. I don’t know if there is any guide about this… There is guides about this, but those are hard for newbies because those are complex and there is some work in strings.xml... But in my guide there are no work of that .... I think this is the easiest way.....
So lets start…
Requirments
Apktool, Java Runtime
NotePad++, 7zip
Knowledge about decompiling, recompiling
A little respect (must)
And your Settings.apk & framework-res.apk
Step 1..
Decompile your Settings.apk
Step 2..
Go to res > xml
Open device_info_settings.xml
Now Copy This Code
Code:
<Preference android:title=" TITLE " android:summary=" SUMMARY " style="?android:preferenceInformationStyle" />
And paste it before </PreferenceScreen>
See the Image… I have added 2 lines… And You can write there anything……
Step 3..
Now Recompile your settings
Step 4..
Open decompiled Settings folder then go to build/apk, there u will find AndroidManifest.xml file…
Now open original Settings.apk using 7zip then copy the META-INF folder and AndroidManifest.xml file…
paste both the files in build/apk folder, if asked to replace, click yes..
now go to a folder in settings folder named dist, there u will find Settings.apk which u compiled.....
now delete it. We never use the first Settings.apk that we compile, because we need to add the META-INF and AndroidManifest.xml files for signing purposes.
Once you have deleted the 1st compiled Settings.apk, return to the command prompt and again compile the Settings using this code
Code:
apktool b Settings
After it is compiled go to dist folder there u will find new and fresh compiled Settings.apk which u can use it…
Step 5..
Using Root Explorer push it into system/app folder and set permissions to rw-r-r-
That's it!
Credit goes to YOU if you get success :fingers-crossed:
Nice tut sir