{
"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"
}
First Lets know some Basic knowledge about DEODEX/ODEX...
What is Odex and Deodex ROM
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 an DEODEX file?
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.
So, 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 majority noobs amongst us, Android OS uses a Java-based virtual machine 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.
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.
Advanteges & 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.
Note:Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Lets Start...
GUIDE TO DEODEX STOCK ROM
Java Development KIT
(Download & Setup Guide)
ANDROID SDK
xUltimateV2.3.3
(only this version is capable with samsung device)
Official Link to xUltimate : POST #5
7-Zip
(32-Bit & 64-Bit)
1.Download android-sdk & extract it.
2.Copy sdk folder & paste it into
Code:
C:\Program Files\Android
3.Change name from SDK to Android.sdk.
(inside folder look like this)
4.you need to flash stock firmware first & Root your device.
5.Connect your phone to computer.(Make sure you have select USB debugging in Settings>Applications>Development)
6.Download & extract xUltimate zip.
7.Launch Main.exe(Run as administrator)
8.If everything goes well xUltimate should recognize the phone and make a connection.You now should see a list of options.
9.Select option (1) pull /system/app. Wait until it complete.
10.Select option (2)pull /system/framework. Wait until it complete.
11..Then select option (3) Deodex /system/app. Wait until it complete.
[If encounter any error. Find out which .odex file is it. Then remove .odex file from folder origi_app in xUltimate folder]
(i found 5 errors so i attached that app's deodex files below you just want to paste in system/app when this process complete)
12.Then select option (4)Deodex /system/framework. Wait until it complete.
13.DONE : your rom is now deodex. Now Exit from xUltimate
Now there are 2 ways to install deodex files in device
1. from Android.SDK
From Android.SDK :
1.Put the phone in USB mass storage.
2.Go to xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
3.Now get out from USB storage mode.
4.Go to
Code:
C:\Program Files\Android\android.sdk
& open command promote there.
5.Enter following codes.
(if you are using adb shell in su for the first time, keep phone screen on. After entering "su" code, super user request prompt in phone. Press allow )
Code:
adb shell
su
stop
mount -o rw,remount /system/ /system/
cp /sdcard/done_app/* /system/app/
rm /system/app/*.odex
cp /sdcard/done_frame/* /system/framework/
rm /system/framework/*.odex
mount -o ro,remount /system/ /system/
reboot
6.Now you have deodexed rom.
2. from SampleDEODEX.zip file attached below.
From zip file attached
1.open zip given as archive.
(use 7.zip but DO NOT EXTRACT.)
2.go to system/app folder & paste here all your deodexed apk's
3.same for for system/framework to paste framework files.
4.done, paste it in your SD-Card & flash through CWM.
STILL IF YOU FACE ANY ERROR
Especially Android 4.1 + (JB) users
Try this method Updating xUltimate tool manually.
asm-xda said:
First of all, thx for the OP. This method for Deoexing works fine, I needed to make a few updates - described below - in order to make it work on my GT-P3113 device, running JB 4.2.2.
OK. So, you have already made sure JDK is properly installed but still can't succeed? Check the following... These are the changes I had to make to deodex my ROM.
1. Get the latest version of xUltimate. It's version 2.4.2: http://www.xeudoxus.com/android/xUltimate-v2.4.2.zip. If you got version 2.3.3 and accepted to download latest version, you were directed to a thread that is not updated with the latest version. Check post #549 on that thread to find the link I've pasted above.
2. If you happen to have Android 4.2.2 on your device, ADB needs to be updated. xUltimate has version 1.0.26 which won't properly connect with your device. NOTE: you can tell which version of adb you are using by running this: adb version
So:
Install the latest version of the Android SDK to get ADB version: 1.0.31 (or later, should be fine).
Locate and copy over these 3 files from the Adnroid SDK install folder into xUltimate-v2.4.2\jar replacing the existing ones:
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
3. I don't know this step is a must for everyone, but it was for me. The assembler/deassembler for .dex file format must be upgraded too. The version in the jar folder in xUltimate-v2.4.2 didn't work fine with the .odex files in my stock ROM.
So:
Download smali.jar and baksmali.jar from here: https://code.google.com/p/smali/. I got version 1.4.2 but any above that should work fine too for the latest available ROMs I guess.
The 2 files probably include the version number in the filename ( i.e.: smali-1.4.2.jar and baksmali-1.4.2.jar). Rename them so they are called: smali.jar and baksmali.jar.
Copy (& replace) those 2 files into xUltimate-v2.4.2\jar folder.
So, that's it. After doing all the above, I managed to deodex my ROM. Well... not quite... there's something else.
After doing the steps above, you should go ahead and follow instructions in the first post of the thread. If everything works, then you are done! Say thanks to OP and enjoy your deodexed ROM. :good::victory:
If however, you still encounter errors while running the xUltimate tool, keep reading...
NOTE: The following is probably only true for certain devices (like mine) so disregard if you don't find any error while following OP steps to deodex.
I got into errors deodexing these files: SamsungIME, SecEmail_Tablet, SecSetting and SecExchange.
Since I couldn't find how to make them work, I decided to leave those files odexed. I'm not sure if that was a good idea or not, but it's fine for me because in my case I actually wanted to deodex some specific apks, not really all of them.
If you decide you want to skip some files (as I did), you'll need to proceed as follows:
Take note of the files that couldn't be deodexed and move those files from the orig_app or orig_frame folder into a new folders, let's call them: "no_deo_app" and "no_deo_frame". Ensure you move the .odex file + .jar file (in case it exists). Make really sure you move files into the right folder: "orig_app" into "no_deo_app" and "orig_frame" into "no_deo_frame".
Run the deodexing again until everything works fine. If you find another file that gives you problem, you do step 1 and 2 again until the tool completes all files successfully.
Now you have 4 folders that are relevant: "done_app", "done_frame", "no_deo_app", "no_deo_frame". Copy all of them into the root of your sdcard.
Now, get into adb shell as superuser access as described in OP following the commands below instead of the ones in the OP. Basically the difference will prevent you from deleting the odex file for the apps that couldn't be deodexed.
Code:
adb shell
su
stop
mount -o rw,remount /system/ /system/
cp /sdcard/done_app/* /system/app/
rm /system/app/*.odex
[COLOR="red"][B]cp /sdcard/no_deo_app/* /system/app/[/B][/COLOR]
cp /sdcard/done_frame/* /system/framework/
rm /system/framework/*.odex
[COLOR="Red"][B]cp /sdcard/no_deo_frame/* /system/framework/[/B][/COLOR]
mount -o ro,remount /system/ /system/
reboot
Well, that was it for me . This is what I've done to doedex my stock JB 4.2.2 ROM my Galaxy Tab 2 7.0 tablet.
Regards!
Click to expand...
Click to collapse
thanks to @asm-xda
4real*leb
Xeudoxus
and
asm-xda
(for finding the way to deodex rom for Jellybean User)
GALAXY Ace Plus User's : GO HERE http://forum.xda-developers.com/showthread.php?p=43835177#post43835177
Cool
omarilzz said:
Cool
Click to expand...
Click to collapse
:fingers-crossed: Thanks bro
will this work with any phone?
i have an alcatel OT X'pop. will this work? 4.1.1?
aldnnnn said:
i have an alcatel OT X'pop. will this work? 4.1.1?
Click to expand...
Click to collapse
YES it does work on any device...
first give a try on above 2.3.3 xUltimate version if u face any issue download latest version v2.4 from here ;
follow same steps like above :highfive:
nice method but it is easier from dsixda's kitchen(cygwin)
cant recognized device
i think ive done everything but still wont recognize my device.
any suggestions?
ManzzaShahi said:
nice method but it is easier from dsixda's kitchen(cygwin)
Click to expand...
Click to collapse
i know...
but that kitchen doesn't deodex our device's apk files as much this xUltimate do
i don't know why
but i tried every step (I have kitchen & several kind software's too) & found easiest way is this only to deodex ur apk files :fingers-crossed:
aldnnnn said:
i think ive done everything but still wont recognize my device.
any suggestions?
Click to expand...
Click to collapse
Give a try on newer version v2.4 I gave link above in that pic.
coz it has ICS Razor support.
or you have to check whether your java works fine or not.
go through some youtube video's to find how to setup JAVA or follow guide below;
JAVA Development KIT
< Guide How to Setup JAVA >
Download JAVA Development Kit & install it first.
go to desktop, right click on
computer > properties >:highfive>Advance system setting> in advance tab environment variables
First : In user variable for ***
click new & type
Code:
variable name : CLASSPATH
variable value : C:\Program Files\Java\jdk1.7.0_21\jre\bin (your java installed path varies on your installed location)
Second : In system variables
click new & type
Code:
variable name : PATHTEXT
variable value : .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
also check in path is there above java path present or not if not just add it BUT do not remove old codes from line...!!!
j.posarekar70 said:
< Guide How to Setup JAVA >
Download JAVA Development Kit & install it first.
go to desktop, right click on
computer > properties >:highfive>Advance system setting> in advance tab environment variables
First : In user variable for ***
click new & type
Code:
variable name : CLASSPATH
variable value : C:\Program Files\Java\jdk1.7.0_21\jre\bin (your java installed path varies on your installed location)
Second : In system variables
click new & type
Code:
variable name : PATHTEXT
variable value : .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
also check in path is there above java path present or not if not just add it BUT do not remove old codes from line...!!!
Click to expand...
Click to collapse
missed this part of installing java
thanks!
will try again soon because i dont have my phone right now.
also i i have these folders in the same java folder
C:\Program Files\Java\jre6
C:\Program Files\Java\jre7
do i need these files?
aldnnnn said:
missed this part of installing java
thanks!
will try again soon because i dont have my phone right now.
also i i have these folders in the same java folder
C:\Program Files\Java\jre6
C:\Program Files\Java\jre7
do i need these files?
Click to expand...
Click to collapse
You may keep aside coz u wanna download java development kit which is jdk for that jre doesn't matter...
just for suggestion remove older version of jre from ur pc if u have jre7.
can u help every system file i try to deodex gives error and when i move to another it again gives error what to do same is with framework
tejasvi1 said:
can u help every system file i try to deodex gives error and when i move to another it again gives error what to do same is with framework
Click to expand...
Click to collapse
It would be great if u tell me which device u using to deodex files...
& also if possible attach error screen image/attach log file.
sent from Tapatalk 4
thks for replying , i am using my laptop for deodex my stock jellybean firmware on xperia ion
tejasvi1 said:
thks for replying , i am using my laptop for deodex my stock jellybean firmware on xperia ion
Click to expand...
Click to collapse
well you just have to skip those apk's which cause these errors...
close this window, go in Orig_app folder & delete related apk + its .odex file & give another try.
if error appear in another apk do the same.
some apk's wont get deodex through this app you just have to delete those & move forward.
.
.
.
if u get error in each system apk then download older version's of xUltimate app from this POST #5
Awsm buddy by the way i have a xperia mini(stock ics) . Will this work on it ?
sadab said:
Awsm buddy by the way i have a xperia mini(stock ics) . Will this work on it ?
Click to expand...
Click to collapse
Keep backup
give a try
follow each steps
Nice guide! I followed it when I created my ROM! Very useful! tnx
Hope it works on my samsung galaxy pocket
I will try on my samsung galaxy pocket coz i want the s3 status bar so hope it works without any issues if i have some problem i will tell u guys
---------- Post added at 02:16 PM ---------- Previous post was at 02:10 PM ----------
Plzz check and tell me that will it work on my Rooted Samsung Galaxy Pocket plzz thnx in advanced
KumailHyderMirza said:
I will try on my samsung galaxy pocket coz i want the s3 status bar so hope it works without any issues if i have some problem i will tell u guys
---------- Post added at 02:16 PM ---------- Previous post was at 02:10 PM ----------
Plzz check and tell me that will it work on my Rooted Samsung Galaxy Pocket plzz thnx in advanced
Click to expand...
Click to collapse
Give a try my friend...
there is no way to brick your device .
you just have to put system & framework files in the pc & let xUltimate do the work.
if everything goes fine you get pair of folders deodex system apps & that of framework files .
put them to make flashable zip & there you go deodex stock rom.
everything will fine if u follow my steps.
if get any wrong (error) then its been in ur pc only not in ur phone
loxdegio said:
Nice guide! I followed it when I created my ROM! Very useful! tnx
Click to expand...
Click to collapse
Happy to help you
Related
How to prepare your i9001 stockROM for modding
First of all I want to say that I know that there already are tutorials about this, but this is just my sites "well explained aio tutorial" that everyone should be able to follow successfully, just as my other tutorials. I added loads of screenshots to make everything a lot easier. So please no complaining about duplicates
Short description:
In this tutorial I will explain you how to prepare a stock rom for modding, the files in this tutorial (cwm and root) are for the Samsung Galaxy S Plus (GT-i9001) only!
The deodex part will work for every device, So if you have an other device then the i9001 you can only follow the deodex part if you would like to.
General notes
- I know I already made a tutorial about how to root the i9001, but this method is faster and easier, so forget the old method and use this one!
- In this tutorial I assume that you have installed your new stock ROM (or still have the original one) and made no modifications to it yet (this excludes apps & settings)
Chapters:
1. ClockWorkMod Recovery (CWM)
2. Getting full access to your system files (Root)
3. How to make system apks available for modding (Deodex)
Chapter 1. ClockWorkMod Recovery
The first step of this guide is to get rid of the stock recovery, the stock recovery is very useless if you compare it to CWM.
CWM is a custom recovery that it known worldwide, it has a great number of options and actually should be installed by default on any smartphone!
The method of flashing the recovery will be Odin (Mutli Downloader 4.43), this method doesn’t require root access and is very trusted.
What you have to do on your pc:
1. Download and unpack Odin and AriesVE.ops
2. Download and unpack CWM v5.5.0.4 (ICS Compatible)
3. Download and install Samsung USB Drivers
4. Now go to the folder where you extracted odin and AriesVE.ops, and open odin (Multi_Downloader_v4.43_with_smd0425.exe)
{
"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"
}
5. Click on the “OPS” button, now choose the AriesVE.ops file you downloaded earlier, after this check the “One package” checkbox
6. Now click the “One Package” button and choose the “recovery-clockwork-5.5.0.4-ariesve.tar.md5″ file you downloaded earlier, now it will perform an md5 check
7. Now turn off your i9001 if it’s on at the moment.
8. Turn it on by holding: Volume Down + Home + Power (hold it for about 6 seconds) until the Download Mode comes
9. Now put the USB cable in your phone and computer, your computer will now install all needed drivers
10. Once the driver installation is complete you will see a yellow block in your upper left odin window
This means it’s detected and ready to flash
11. Now click the “Start” button and the flashing will start
(as you see this process only takes a few seconds)
12. Now your phone will reboot and CWM is installed correctly. (You can also press the “Volume up + Power” buttons when you see the Samsung logo (when odin reboots your phone), It will force your device to go to cwm.
What I strongly advice is to make a backup of your current rom (backup & restore > backup)
Now see the next chapter for quick rooting!
Chapter 2. Getting full access to your system files (Root)
Once CWM is installed it’s very easy to root your phone very fast.
1. Download Root-i9001-Signed.zip or scan this barcode on your phone:
2. Put the zip on your sdcards root, and turn off your phone.
3. Now turn your phone on by holding: Volume Up + Power, when you see the Samsung logo wait another 2/3 sec and then release both buttons.
4. Now CWM Recovery will show, use the volume buttons to scroll up and down, use the home button to choose something
5. Scroll to “install zip from sdcard” and press the home button
(using the volume down button to go down in the menu)
(after pressing home in main menu)
6. Now Press home again to go to “choose zip from sdcard, this will let you browse your internal sdcard, now search for the root-i9001-signed.zip file
(my sdcard is a bit messy ^^)
7. When you found the zip press Home to choose it
8. Now scroll up (it’s faster then down) until you reach Yes, then press the home button again. This will install the root zip on your phone
9. Now press the back button once to return to the main menu, with “reboot system now” selected, press the home button once to reboot your phone
10 . When your phone is rebooted you should look for the SuperUser app and open it, now press the menu button and choose “Preferences”
11. Now scroll all the way down to Superuser information, then press the second button “Su Binary v3.0-beta2″, this will open the updater
(dutch language)
12. As you see it’s outdated and needs to be updated, press the Update button to do this
13. Now the updating will start, and soon SuperUser will ask for SuperUser permissions, click Grant
(dutch language)
14. After clicking grant the update process will continue and will be done in a few seconds
15. Now your Su Binaries are updated you need to update the app itself, just go to the market and search for “Super User”
16. Choose the one contributed by: ChainsDD, now click the “Update” button to update it. You are now done with the rooting.
Chapter 3. How to make system apks available for modding (Deodex)
Requirements for deodexing:
- Android SDK (x86)
- Java Development Kit (x86)
- Busybox Installed on your phone (the download from the market is the installer, so you will need to run the app to install it)
1. Download xUltimate Script v2.3.3, unpack it in some folder and if you have an anti-virus, scan the jar folder and add “auto_app.exe” and “auto_frame.exe” to exclusions/trusted files. (at least my anti-virus thinks it’s dangerous, but it’s not..)
2. Run “Main Skip.bat”, now the main menu of xUltimate will open
3. Now connect your phone in debugging mode to your pc (but not in mass storage mode!), and choose “1″ then press enter, this will pull all system apps from your device
4. When the pulling is complete choose “2″ and press enter, this will pull all system framework files.
5. Now that you’ve collected all apks/odex files, you will probably need to remove these apks from the “origi_app” folder, since they will probably fail to deodex.
- GoogleQuickSearch.apk / GoogleQuickSearch.odex
- Maps.apk / Maps.odex
- Phonesky.apk / Phonesky.odex
- PlusOne.apk / PlusOne.odex
- Voicesearch.apk / Voicesearch.odex
These apps can be redownloaded at the market later! (Phonesky is just the market installer, not the actual market installation)
6. Now choose “3″ and press enter, now the deodexing of the system apps will start.
This may take a while, but at least it will deodex until the end, since the trouble makers are already removed.
7. When the deodexing of the system apps is done you will return to the main menu, now choose “4″ and press enter to deodex the framework files
Luckily deodexing the framework goes a lot faster then the apps. When this process is also done you will have 2 output folders, called “done_app” and “done_frame”
8. What you will need to do is copy both folders to your internal sdcard’s root (since you’re still in debugging mode, drag down the status bar and click on the usb notification, then click on “Mount Storage” to mount your internal sdcard on your computer (Mass Storage Mode)
9. After you copied both folders, you need to press “Unmount Storage” on your phone, now it will be back in normal debugging mode, keep the usb cable in because we are not done yet.
10. Download ADB (Android Debug Bridge) and unpack it in some folder, Now in that folder “Shift+Right Click” at some empty spot > Open command window here (This is only for Windows 7). XP users will have to open cmd manually and “cd” to the adb directory
11. Once your in cmd, enter the following commands to successfully deodex your phone (an explanation of the commands can be found below them, make sure you don’t enter the symbols as well, I added those so you can see if you’re in the right mode)
> adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
$ su
# stop
# mount -o remount rw /system
# rm /system/app/*.odex
# rm /system/framework/*.odex
# busybox cp /sdcard/done_app/* /system/app/
# busybox cp /sdcard/done_frame/* /system/framework/
# busybox chmod 644 -R /system/app/*
# busybox chmod 644 -R /system/framework/*
# reboot
What did those commands actually do?:
“adb shell” – opens a shell interface for your phone, this is the same as a unix shell
“su” – asks for superuser permissions (and gets it right away)
“stop” – this command freezes your phone completely, except the adb traffic, that means you can replace system files without crashing your device
“mount -o remount rw /system” - this remounts the system partition but writable
“rm /system/app/*.odex” / “rm /system/framework/*.odex” – This deletes the old .odex files which are not needed anymore after deodexing
“busybox cp /sdcard/done_app/* /system/app/” / “busybox cp /sdcard/done_frame/* /system/framework/” – This copies the apks from the folders in your sdcard to the right destination.
“busybox chmod 644 -R /system/app/*” / “busybox chmod 644 -R /system/framework/*” – This command sets the permissions to RW-R-R, some users say it’s not needed but just remember to do it always, it’s a good thing! (and bad permissions may even crash your device)
“reboot” – well, I think you know what this does.
Ok so If you entered all commands correctly your phone will now reboot and succeed to boot. be ware that it takes a lot longer then a normal boot since the dalvik-cache has to rebuilt, this takes about 1 minute and 30 seconds at the i9001. (also depending on the amount of apps you have)
12. Now that your phone is successfully deodexed it’s ready to be customized! This means you can install Theme’s and Mod’s, but you can also do all other kinds of customization, since your phone is also rooted, such as installing Thunderbolt. But don’t forget to redownload the apps that you removed before deodexing
I hope you’ve learned something in this tutorial, I’ve already written a tutorial about rooting, but this way of rooting is just way better then the traditional method.
As always, good tutorial :good: I'll probably never need it, but good to know i could if i want.
regards
busprofi said:
As always, good tutorial :good: I'll probably never need it, but good to know i could if i want.
regards
Click to expand...
Click to collapse
Thanks . The tutorial is really focussed on beginners, so they have a well explained tutorial to follow, that they will probably understand the first time they read it. (atleast I hope they do ^^)
broodplank1337 said:
Thanks . The tutorial is really focussed on beginners, so they have a well explained tutorial to follow, that they will probably understand the first time they read it. (atleast I hope they do ^^)
Click to expand...
Click to collapse
:thumbup: Always the Best!!!
Sent from my GT-I9001 using xda app-developers app
raptor92 said:
:thumbup: Always the Best!!!
Sent from my GT-I9001 using xda app-developers app
Click to expand...
Click to collapse
Thanks And the good thing is, I keep getting new idea's for apps and tutorials. my idea source will never go dry! (I guess, since sometimes I suddenly have 3 new apps in my mind, that I can make) In a few years I will have loads of stuff lol (If I keep this tempo of developing/writing tutorials)
Wow another awesome noob-friendly guide. Love your work. Keep it up.
Sent from my GT-I9001 using xda premium
iCloud said:
Wow another awesome noob-friendly guide. Love your work. Keep it up.
Sent from my GT-I9001 using xda premium
Click to expand...
Click to collapse
Thanks will do, btw I just noticed that I forgot to post all links! (I just copied it from my blog without thinking about all links). my mistake
I respect your work.thanks for the tutorial,exactly what I need.
john9 said:
I respect your work.thanks for the tutorial,exactly what I need.
Click to expand...
Click to collapse
Thank you, you're welcome Nice that it's exactly what you need haha
broodplank1337 said:
Thank you, you're welcome Nice that it's exactly what you need haha
Click to expand...
Click to collapse
Brood, i have a question on this. After deodexed the app and jar files can these file considered as zipaligned? Because i found that it take a lot of memory compared to the odexed ROM. However, in the xUltimate there is a optimization command available to optimize all the apk files but it also bring many FC after push all the files to the phone.
DreamerTKM said:
Brood, i have a question on this. After deodexed the app and jar files can these file considered as zipaligned? Because i found that it take a lot of memory compared to the odexed ROM. However, in the xUltimate there is a optimization command available to optimize all the apk files but it also bring many FC after push all the files to the phone.
Click to expand...
Click to collapse
The deodex process calls it aligning, and I'm not sure if that's really a zipalign, but it's very easy to zipalign, just run the attached "03zipalign" in script manager, (with su icon checked), But the fc's are are not normal, you must have made a mistake somewhere, do you still have the odex files inside /system/app and system/framework for example?
broodplank1337 said:
The deodex process calls it aligning, and I'm not sure if that's really a zipalign, but it's very easy to zipalign, just run the attached "03zipalign" in script manager, (with su icon checked), But the fc's are are not normal, you must have made a mistake somewhere, do you still have the odex files inside /system/app and system/framework for example?
Click to expand...
Click to collapse
Nope. During the push process i already write the remove command in adb to delete them all. For the FC case this won't happen if i didn't run the command in xUltimate>Advanced>Optimize all apk>Extreme.
After the optimization i found out that the apk files become smaller in size but sometimes some of the apk will get FC in phone. What i have experienced are camera.apk, AxT9IME.apk, Phone.apk and so on.
DreamerTKM said:
Nope. During the push process i already write the remove command in adb to delete them all. For the FC case this won't happen if i didn't run the command in xUltimate>Advanced>Optimize all apk>Extreme.
After the optimization i found out that the apk files become smaller in size but sometimes some of the apk will get FC in phone. What i have experienced are camera.apk, AxT9IME.apk, Phone.apk and so on.
Click to expand...
Click to collapse
Well, I assume you pushed the files while in mass storage mode?, (or did you use adb push?). When you're in mass storage mode you cannot access your sdcard in adb, so what you actually do when using the remove command: nothing.
Then If you place the done_app and done_frame folder in /system/app & /system/framework you will still have the .odex files , Right?
Please follow all steps correctly, I also screwed up at my first deodexes, but when I red the whole tutorial (I believe that was the i9003 one) again it worked
But you can also use deodex packages (KQE for example) which is posted at the KQE rom topic.
broodplank1337 said:
Well, I assume you pushed the files while in mass storage mode?, (or did you use adb push?). When you're in mass storage mode you cannot access your sdcard in adb, so what you actually do when using the remove command: nothing.
Then If you place the done_app and done_frame folder in /system/app & /system/framework you will still have the .odex files , Right?
Please follow all steps correctly, I also screwed up at my first deodexes, but when I red the whole tutorial (I believe that was the i9003 one) again it worked
But you can also use deodex packages (KQE for example) which is posted at the KQE rom topic.
Click to expand...
Click to collapse
Brood, i redownload the xUltimate using the link that you provided in this forum and now the deodex process run smoothly and successfully. Finally i can manage my phone freely. Thanks again~
DreamerTKM said:
Brood, i redownload the xUltimate using the link that you provided in this forum and now the deodex process run smoothly and successfully. Finally i can manage my phone freely. Thanks again~
Click to expand...
Click to collapse
Good! You know I've only managed to deodex roms successfully using the 2.3.3 version, I just think that 2.3.3 is the magical version . Enjoy the deodex
broodplank1337 said:
Good! You know I've only managed to deodex roms successfully using the 2.3.3 version, I just think that 2.3.3 is the magical version . Enjoy the deodex
Click to expand...
Click to collapse
Really? maybe also caused by last time im using the ver 2.4 so this might be the main cause for such problem
Thanks for this guide, but (there's always a but)....
... my I9001 keeps rebooting into CWM now. Whenever I boot it, or reboot it, it will always go back into CWM. I reflashed CWM using this guide, step by step, 4 times with the same result. It's great to have CWM on the phone, but it would be nice to also use the phone as a,... well "phone".
I tried flashing Broodrom (business) and it flashes alright. No way to test it however since all I see after a reboot is,... CWM. I tried 3 different ROMs, but all I see is CWM.
Do I have a seriously strange i9001, or is there something I am missing in this guide? I've flashed quite a few phones so maybe I can't be considered to be a beginner anymore, and maybe that's why this guide won't work for me
Anyways, back to odin and stock ROM for me.
FrepA said:
Thanks for this guide, but (there's always a but)....
... my I9001 keeps rebooting into CWM now. Whenever I boot it, or reboot it, it will always go back into CWM. I reflashed CWM using this guide, step by step, 4 times with the same result. It's great to have CWM on the phone, but it would be nice to also use the phone as a,... well "phone".
I tried flashing Broodrom (business) and it flashes alright. No way to test it however since all I see after a reboot is,... CWM. I tried 3 different ROMs, but all I see is CWM.
Do I have a seriously strange i9001, or is there something I am missing in this guide? I've flashed quite a few phones so maybe I can't be considered to be a beginner anymore, and maybe that's why this guide won't work for me
Anyways, back to odin and stock ROM for me.
Click to expand...
Click to collapse
The problem you're facing is the bootloop bug in cwm, some people experience this bug, you can find the fix in this post: http://forum.xda-developers.com/showpost.php?p=24831012&postcount=1330
broodplank1337 said:
The problem you're facing is the bootloop bug in cwm, some people experience this bug, you can find the fix in this post: http://forum.xda-developers.com/showpost.php?p=24831012&postcount=1330
Click to expand...
Click to collapse
Thanks for your reply. I did try that solution before I posted (I should have mentioned it, sorry). It didn't solve my problem however. I could boot without going into recovery, but nothing would happen, so the ROM would not be loaded. I should mention however that I had no problems with a different i9001, so I might have a phone with some special issues.
# stop
# mount -o remount rw /system
# rm /system/app/*.odex
# rm /system/framework/*.odex
# busybox cp /sdcard/done_app/* /system/app/
# busybox cp /sdcard/done_frame/* /system/framework/
# busybox chmod 644 -R /system/app/*
# busybox chmod 644 -R /system/framework/*
# reboot
Click to expand...
Click to collapse
I could not do the above. when i type stop, there is no #.
Edited: I have done it. It is deodex now but when I flash the mod such as the extended toggle bar, when the the phone restart the status bar missing. How can I fix it???
temporarily "abandoned" .. please use Zep's ultimatic jar power tools instead.
----------------------------------------------------------------------------------------------------------------------------------------------
I hate that Zeppelinrox's thread is being cluttered with OT questions about this.. so opening a new thread. Please post any JellyScreamPatcher.exe questions here. Thanks.
----------------------------------------------------------------------------------------------------------------------------------------------
[experimental] Windows tool for patching services.jar for V6 SuperCharger
Opening note: When replying to this post, please do not quote it!!! Or quote selectively.
For each fully quoted reply a puppy will die somewhere in the world. If you love puppies as much as I do, you'll stop quoting long posts.. thank you
----------------------------------------------------------------------------------------------------------------------------------------------
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.. LOL I guess you knew it already.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because your phone bootloops. Please
* do some research if you have any concerns about features included in my utility
* before using it! YOU and only YOU are choosing to make these modifications.
* I'm providing no ETA's, though usually I'm responding PM's in a timely manner ;)
*
* While the tool provides some backup functionality, allowing you to roll back to
* a working system, feel free to create a nandroid backup trying this ;)
*
*/
For downloads and changelog, see Post #2
----------------------------------------------------------------------------------------------------------------------------------------------
Preface:
Many of us V6 Supercharger users have been flashing nightlies nightly and dailies daily, resulting in the need for a patched services.jar almost daily since the automatic web patcher no longer works for Android 4.1.1 Jellybean files, we had to stick with manually patching this files as described in Zep's guide here. Eventually Zep prepared several versions of the Jelly_Scream_Smali_Patcher_Test_x.sh script, which does the job perfectly, but the user still has to get his services.jar, extract the .smali files, put them to the phone, put the script to the phone, run it in the phone's terminal, copy the patched .smali files back to the PC etc. etc. and for many of us, this is time consuming (and difficult for others). Time is money, right?
Currently, this tool is using a ported version of the ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh script for patching.
So... here an automated workflow, which assumes a few things:
you are running a MS Windows operating system (tested on Win7 x64)
you have Java installed. This was tested with Java7, should run fine on Java 6 as well. In the Q&A section below I provide a link to download Java. Make sure that java.exe is accessible from any folder (is in PATH). Some version of Java 7 installs the binaries into the windows/system32 folder, other versions use different folders (e.g. "C:\Program Files\Java\jre7\bin"), so you need to know where the binaries are. Make sure you have that folder in your PATH. If not, just google how to add a folder to the PATH, there are many tutorials on the web.
[optional] you know how to connect your phone to the PC via USB
[optional] you have ADB drivers installed (either via Android SDK or from your phone's manufacturer)
[optional] you know how to enable USB debugging in your phone and did that
[optional] the USB connection mode is NOT "mass storage" (for the online mode) - please set it to "Charge only" or "None" (varies from device to device)
Before you start:
The following needs to be done only once. Of course, when Zeppelinrox updates his shell script, I'll be updating my tool and this guide to provide a new download file.
download the 7zipped tool (single archive) to your PC . Make sure you always download the latest version (link in the changelog)
extract it to an empty folder (e.g. c:/super/ .. just like in the ICS Guide) so that you get a nice folder structure like this - see explanations for the folders as well:
Code:
C:.
│ JellyScreamPatcherV6_0.9.0.6.exe
│
├───adb
│ adb.exe
│ AdbWinApi.dll
│ AdbWinUsbApi.dll
│
├───backup
├───cwm
│ signapk.jar
│ testkey.pk8
│ testkey.x509.pem
│ update.odex.zip.empty
│ update.zip.empty
│
├───dist
├───framework
├───odex
│ dexopt-wrapper
│
├───scripts
│ deodex-pusher.sh
│ dexopt-wrapper.sh
│
└───smali
baksmali
baksmali.jar
smali
smali.jar
version.txt
Before we start, I'll explain the folder structure.
Code:
adb - support folder, includes google's adb tool
backup - this folder will include your old files
cwm - support folder, includes files for generating cwm compatible update.zips
dist - this folder will include the patched files for further processing
framework - this is the working folder, where files will be compiled/decompiled/patched
odex - support folder, includes the binary for odexed ROMs in-phone final patching
scripts - support folder, includes files for online mode
smali - support folder, includes the smali/baksmali tool
How to patch the services.jar file
The following assumes you have a "stock" (or unchanged) services.jar in your phone's ROM or in my tool's framework subfolder .
Note: The current version should still be considered as beta-release. While it works for me (most of the computer stuff works when I'm near it, my family has been puzzled about this since long ago.. LOL), it may not work for you. Please report any bugs you find (thread, PM) and I'll be happy to fix them. Although I inserted many "hit the Enter" prompts into the tool, it's always good to run the tool from a console so that you can keep the output in case you flash through the workflow too fast
Also, the tool maintains an activity.log file where it flushes messages about what's happening. If you encounter a bug, send me this file. Please do not copy/paste the log contents into the thread!!! Attach it. Or upload to any cloud service and send me the public URL.
Click to expand...
Click to collapse
Tip: When running the tool, feel free to enlarge the command prompt window vertically
Click to expand...
Click to collapse
After running the tool and passing the initial screen, you will be presented with a choice between online and offline mode.
Online mode
Online mode assumes that the phone is connected via USB. In this mode, the tool can pull all the information from the phone. Not only the files, but system variables, as well as some debug info (e.g. is the ROM odexed?)
Connect the phone via USB
Enable connection mode "Charge only" or "None". This won't work, if the phone is in "Mass Storage" mode!
Sit back and enjoy (and don't forget to answer the tool's questions!)
After patching there will be a warm reboot
Offline mode
Offline mode means, that there will be no interaction of the tool with the phone via USB. You need to do all the file transfers and in case of odexed ROMs, the final in-phone patching, manually. Also you will have to enter some other information into the tool manually.
make sure to copy your /system/framework/services.jar to the tool's framework folder. If you have an odexed ROM (e.g. stock), copy the whole /system/framework folder contents to the tool's framework folder.
make sure to know your system's version because the tool will ask for it
make sure to know your BOOTCLASSPATH variable. It can be pulled from the phone using the command
Code:
adb.exe set | grep BOOTCLASSPATH
make sure you know if the ROM is odexed or not
After patching, you will need to transfer the patched files to the phone and perform manual patching/replacement:
Odexed ROM:
For odexed ROMs, there is some more patching required that you can do in the phone.
copy services.jar from the 'dist' folder to the sdcard
copy 'dexopt-wrapper' from the 'odex' folder to the sdcard
copy 'dexopt-wrapper.sh' from the 'scripts' folder to the sdcard
Make sure they are in the card's root folder !!
In the phone, open Script Manager or any other app that can run shell scripts with superuser rights.
Open the app, run the dexopt-wrapper.sh script. A warm reboot may occur, since the script will restart the framework
Reboot to recovery, Clean Cache, Clean Dalvik Cache
That's it
Deodexed ROM:
update-signed.zip in the dist folder
Copy this file to your sdcard, then reboot to cwm recovery and install it from there. Then do a Dalvik Cache wipe, Cache wipe and reboot.
services.jar in the dist folder
You can copy this file to phone's /system/framework folder and replace the existing one. Make sure that the new file will have owner/group 'root' and permissions 644. Then reboot to recovery, clean Cache & Dalvik Cache.
Rollback
In case something goes wrong, there should be a message about that in the activity.log file.
Feel free to send this file to me - either attach (not paste!!!) the file to a post in this thread, or upload it to any of the cloud services and tell me the URL. I'll take a look.
Before patching, the tool creates backup of the files as a CWM recovery compatible update.zip file. It will sit in the backup folder. This is your way back to a working system. Of course, you can do a nandroid backup..
So what is the tool actually doing?
Very easy to explain.
it pulls the services.jar (and odex files if needed) from your phone to the working folder (or takes an existing one that you put into the folder)
it uses the baksmali.jar to decompile the services.jar/odex
creates a backup of the unchanged files
it runs a ported perl version (and compiled to exe) of Zeppelinrox's JellyScream patcher script (v6) to patch the .smali files
it uses smali.jar to compile the new classes.dex
inserts the new classes.dex back to the services.jar
[optionally] it pushes the new services.jar back to the phone
[optionally] for ODEXed ROMs, created services.odex from the patched services.jar
[optionally] for deODEXed ROMs, it creates and signs an update.zip that can be flashed in CWM recovery
collects the garbage and exits with a nice message .. LOL
Q&A
Q: It doesn't decompile the services.jar and complains that the .smali files don't exist !!!
A: Yeah, probably your Java is crap. Install Java JRE from Oracle's web (http://java.com/en/download/index.jsp), it will offer you the latest version. I tested with Java 7, but latest releases of Java 6 should work as well.
Q: Getting java errors "not recognized" "not found" and so !!!
A: You probably don't have the java executable in the system PATH. Search the web on how to do this. Example - Java7 installs its binaries to the <system>:\Windows\System32 folder, other versions may act differently and they may have the binaries in a different folder (e.g. "C:\Program Files\Java\jre7\bin") . That folder needs to be in the PATH.
Q: I'm getting bootloops after patching the services.jar with this tool!
A: Make sure to Wipe Cache, Wipe Dalvik Cache and Fix permissions in the CWM recovery. ALso, feel free to send me your original services.jar, I'll take a look. If you have an odexed ROM, send me the whole /system/framework folder and the activity.log file generated while using this tool in "online" mode.
Q: After reboot with the new services.jar file, it says "Android is upgrading" and optimizing apps, even though I did not wipe my dalvik cache.
A: Well, yes that is expected. It will take a while, depending on how many apps you have installed.
Q: Will my phone's memory be blazing fast and effective after this?
A: No, you still have to run the V6 Supercharger script.
Q: Does it run on Linux?
A: Not yet, but it will. I need some more internal testing to release a Linux version.
Q: Does it run on ODEXed ROMs?
A: Yes !!!
Q: Why is the executable so large???
A: Blame PAR long story short, I wrote my stuff in Perl and used Perl to port Zep's stuff as well. Then I compiled the script to exe using the PAR:acker package, resulting in the huge executable. I know, there is another way, to use Activestate's PDK (Perl Development Kit), but the license is approx. $250 and I just don't have that money for spending on a single tool. PDK creates much smaller files (approx. 1/3rd), but for now we have to stick with what we have
Q: Tool fails and in the log I see messages like "failed to copy 'C:/super/backup/services.jar' to '/mnt/sdcard/services.jar': Permission denied"
A: Make sure the USB connection mode is other than "Mass Storage". It can be "Charge Only" or "None", really this is depending on the device you own.
Q: Isn't there a virus included in the executable?
A: LOL.. No. This community gave me a lot since 2007 and I have no intention to harm it in any way. If you are using NOD32 and it starts complaining about the URL to my file I posted above, let me know. ESET support is pretty quick in identifying and fixing false warnings
Enjoy.. and feel free to PM me in case of any questions. I'll keep this post updated all the time.
Thanks
- Zeppelinrox for the V6 Supercharger and the associated scripts/tools
- Rexstor for the ODEX guide
- Android community for all the other tools (smali/baksmali/sign)
- Google for Android... luv ya!!!
If you feel like I deserve a beer for what I've done, feel free to consider donating to Zeppelinrox first as I'm just making his fabulous work a tiny bit more accessible. And if you still think I deserve a beer, you can use the button below.
downloads and changelog
Downloads
http://dev.pepcok.info/jellyscreampatcher/JellyScreamPatcherV6_0.9.0.6.7z
Changelog
0.9.0.6 [2012-09-23]
still using ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh
added a proper error reporting when sdcard is not writable in online mode
0.9.0.5 [2012-09-20]
using ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh
multiple users with Odexed ROMs have reported this version to work. Feel free to try
with online mode, there is a framework restart after patching, causing warm reboot of the device.
0.9.0.4 [2012-09-13]
using ALL_ROMS_Ultimate_Jar_Power_Tools-Jelly_ISCream+Maximum_MultiTasking_Mods-Smali_Patcher_Test_11.sh
Warning for odexed ROM users - proceed with cautions, many have reported bootloops (even with previous version). Investigating
0.9.0.3c [2012-09-12]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
fixes STUPID bug with storage detection (I hope)
0.9.0.3b [2012-09-12]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
storage detection, as requested by one of the users (thanks Zep for the code! )
fixes in shell scripts for online mode
removal of the -f flag for rm commands
0.9.0.3 [2012-09-11]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
odex: if the baksmali decompile fails (e.g. file missing, although being in BOOTCLASSPATH), the tool will create an alternate BOOTCLASSPATH based on the files that were pulled from the phone and try decompile again. It even this fails, then I guess the world will end in 2012
ui: revamped the whole ui, user is now selecting offline vs online (adb) mode at the beginning
ui: added a proper note for the user to make sure to clean cache/dalvik cache when rebooting for the first time with the new services
ui: added instructions for the user in offline mode (when he wants to do the final steps manually)
internal: added some file exists checking, online (with adb) mode works better now and is prettier
other: as always, please read what the tool says.
0.9.0.2 [2012-09-06]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
instead of using crappy adb commands, the final patching is done via shell scripts in the phone - please help me test that. I already restored my phone's system partition 4 times (since patching a GB MotoDefy+ with ICS HTC Evo services is not healthy, but necessary for my testing), all the final patching seems to work fine here. Tested for both odexed and deodexed files and my phone already hates me
the tool will make a backup of your original services.jar/odex file into a CWM recovery update.zip (will be in the backup folder) .. that's your way back from potential hell
fixed a typo in manual API level selection - thanks for catching
0.9.0.1 [2012-09-05]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
few fixes (shell user detection, trying to implement better /system rw mount )
0.9.0 [2012-09-05]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
initial support for ODEXed ROMs - alpha version. I need testers please ! Since my phone does not have any odexed ICS or JB, I was able to test with sample files from xda fellow members end-to-end, but the real full fledged experience, I can't verify
0.8.9.2 [2012-09-05]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
minor update to capture the system calls, stdout and stderr into the log, for people who have problems with java. Let's see how it works
0.8.9 [2012-09-04]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
updated adb communication
added proper logging
internal preparation for ODEX ROMs (yeah, 0.9.0 will work with ODEXed ROMs !!!)
added framework folder as the working folder (reduces file clutter.. LOL)
0.8.5 [2012-08-27]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_9.sh
update-binary from Titanium Backup
0.8.4 [2012-08-26]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_8.sh
minor fixes only
0.8.3 [2012-08-25]
patcher: Jelly_IScream+Time_Killer_Killer--Smali_Patcher_Test_8.sh
this one should work with services.jar files where the smali files don't include debug information
0.8.2 [2012-08-23]
some more checks for "non-compatible" data, will provide warnings to the user in case of "incompatible" services.jar. Users seeing that message should proceed with caution until the next version. Zeppelinrox is aware of the potential problem.
0.8.1 [2012-08-22]
patching based on Zep's v7 script
resolves patching issue with the services.jar from the Alliance 2.1 ROM for Galaxy Note (GT-N7000)
resolves a weird compilation error when running the executable
0.8 [2012-08-22]
First public version, based on Zep's v6 patcher
Good job and thanks.
Sent from my Galaxy Nexus using Tapatalk 2
FYI I added this to Post 2 of the SuperCharger thread...
B) Equally Effective AND EASIER than A) - use the Jelly ISCream Automatic Patcher for Windows!
This does everything that is explained in this very post - from start to finish! Yep... it does Steps 1 to 9!
I know... it's complicated... this is what you do...
1. Plug in your phone
2. Run the Windows exe to patch and install services.jar!
OK?
Click to expand...
Click to collapse
thanks buddy
I guess tomorrow I'll need a guinea pig ... oh... I mean a tester !!! LOL ... for the ODEX stuff.. it looks good locally, just need to close my eyes for a few hours cuz I can't see anything any longer today.
zeppelinrox said:
FYI I added this to Post 2 of the SuperCharger thread...
Click to expand...
Click to collapse
People are still going to get it wrong....
Sent from my Galaxy Nexus using Tapatalk 2
Thanks for this. Trying it now on my GS3 (running a deodexed Touchwiz rom). After hitting [ENTER], the screen hangs on:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Click to expand...
Click to collapse
Did I miss something?
jdhas:
The text you pasted is start of the adb server, the next step after that is waiting for device. Did you have the phone connected to the PC via USB, with USB debugging enabled? I should probably add some text saying that it's waiting for the device
pepcisko said:
jdhas:
The text you pasted is start of the adb server, the next step after that is waiting for device. Did you have the phone connected to the PC via USB, with USB debugging enabled? I should probably add some text saying that it's waiting for the device
Click to expand...
Click to collapse
I'm definitely connected, and I definitely have USB debugging enabled. I am, admittedly, trying this from my work computer, which may be too "locked down" for this sort of fun. Will attempt again when I get home.
well, the easiest thing to check (even at work) is to run
Code:
adb devices
manually from the console. This way you can check if adb is seeing the device.
EDIT: What the tool is doing, is the following:
Code:
adb\adb.exe start-server
adb\adb.exe wait-for-device
adb\adb.exe pull /system/framework/services.jar framework\services.jar
so my assumption is, if it fails in the second command, it's waiting for the device.
jova33 said:
People are still going to get it wrong....
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
That's why the next update might have a little surprise if they run the jelly iscream script without the smali files in the same folder... hehehe... makem scream for realzzz
Looking forward to the update....
Sent from my GT-N7000 using Tapatalk 2
Well... here's what may be possible...
http://forum.xda-developers.com/showpost.php?p=31137111&postcount=5066
I just quickly made a new services.jar hack.
Breaking the lowmemorykiller so that it doesn't kill anything was easy... just one simple edit LOL
I'm hoping that increasing max hidden apps from 15 to 50 will work... that would be optimal
===============================
Oh yeah I had used a goo.gl link in Post 2... http://goo.gl/OfOOE+
Already a nice number of clicks lol
Great work. Looking forward to your next update for odexed roms. :thumbup:
Sent from my Pro using xda app-developers app
jdhas said:
Thanks for this. Trying it now on my GS3 (running a deodexed Touchwiz rom). After hitting [ENTER], the screen hangs on:
Did I miss something?
Click to expand...
Click to collapse
USB debugging enabled? Phone plugged it?
Close the win app and try again. It's hung in a couple of spots for me. I just close it and run it again and it'll go through the second time
Sent from my Nexus 7 using Tapatalk 2
I need help. I get the following error message when the patch is running on my computer.
"Important files are missing after decompiling services.jar See the log for details. Exiting..."
Log attached below. The log shows me trying twice with the same error message causing exit. Please advise.
Edit: I'm on Jellybean CM10 with the Droid Incredible.
Do you have java installed on the PC?
Sent from my Galaxy Nexus using Tapatalk 2
jova33 said:
Do you have java installed on the PC?
Click to expand...
Click to collapse
Java6 Update 26 (64-bit) shows as installed under programs.
folks, who have problems with this
Important files are missing after decompiling services.jar See the log for details. Exiting.
Click to expand...
Click to collapse
Can you download the new minor update? I uploaded 0.8.9.2 which adds some more logging and is a bit more "bulletproof" in the system calls.
Please let me know and send (or attach) logfiles if it goes wrong.. Thanks
Good news !!!
I successfully broke my device when I end-to-end tested the ODEX patching on my Motorola Defy+, using test files from a HTC EVO
But that was expected and I did it willingly.
Flashing the stock SBF now, will do one last final test and then (within 1-2 hours) upload the ODEX-capable patcher
NEW VERSION 2.1, it is now much easier and like a breeze...
Before u read, u should know that this thread is for themers and modders only... and this is not a tool for odexing the whole ROM.
Hello everybody
While I was working on my ROM, and releasing an odex version, I suffered alot in working on the odex files and modifying them. Every time I should use the command line and copy certain commands from a notepad, in addition I have to edit the notepad file to make the commands odex other files... that was a pain...
ok.. the odex commands that were used are taken from this thread by sicopat, big thanks to his efforts. Actually I was thinking in how to make it easier for me to odex these modified files, so I tried to make a script that easily odex files, put the files in the right folder, run the script, and then write the name of the file u want to odex, then..... Waw the file is odexed in the phone and ready to run
For anyone that want to use these scripts, I wanted to share it with you, and I hope they would be useful to you.
Update (2/22/13) v2.1:
1. bootclasspath should be put manually from now, because $BOOTCLASSPATH doesn't work when no root in recovery.
2. Fixed a mistake in extracting and archiving files, now it's ok.
3. Now you can restore the original files if you like after odexing.
4. 7zip 32 bit is used instead of 64 bit, sorry for this, now it should work with 32 bit windows too.
5. Script re-arranged, and 7zip log operations saved in 7z_log.txt. you can check this one if you suspect in 7zip operation.
6. Backup of the original files before odexing and restore them after odexing.
Update (1/4/13) v2: All things automated, no need to edit the script for bootclasspath, and even no need to drag and drop the edited files from the modded apk or jar.
Update (9/20/12) v1.4: remount using busybox, this solves some remounting problems.
update (9/18/12) v1.3: adb added to the program, to make it work independently. And now you can pull the files after odexing if u need that.
update (9/10/12) v1.2: updated and added a missed command, it should works perfect. No need to put any files in your sdcard to make the operations... and the operations are commented so you can diagnose the problem if occurred.
download from here
Before you use, make sure u r running the corresponding odex rom in your device, then read how to use this tool.
How to use:
first extract the downloaded file to a folder then:
1. Put your bootclasspath in bootclasspath.txt (follow the instruction below in Important Note 2).
2. Put the original odex and apk (or jar) file in the "original" folder.
3. Put your modded deodexed apk (or jar) file in the "mod" folder
4. Connect your phone with usb and make sure adb is working. ( and don't forget to check the USB Debugging in the settings of your device).
5. It is better that you boot in recovery mod, specially when odexing framework files.
6. Now run the script (.bat file), choose the one for apk or for the jar, according to file you want to odex.
7. after the script opens, write the name of the apk (or jar) file without the .apk (or .jar)
8. Odexing......done.
9. after finishing odexing, u can pull the odexed apk or jar file by pressing 1 then Enter, the it will be pulled in the (pulled_files) folder. Or if you want to restore the original apk (or jar) file with its odex, then press 2.
If you find this thread useful, pressing the thanks button is appreciated.
Important note: If you r using a rooted stock kernel, then u could face problem in remounting, hence a problem in the script. To solve this problem check this post.
Important note 2:To get Your BOOTCLASSPATH:
1. In adb:
adb devices
adb remount
adb shell echo $BOOTCLASSPATH
after that, you can right click and choose (mark), then mark the bootclasspath then press (enter) now you have copied the bootclasspath. go to bootclasspath.txt in the extracted folder of the script, then paste the bootclasspath and save the file.
OR
2. In the root of your device, in the init.rc file:
look for a line with (bootclasspath= ), then copy everything on the right hand of the equal mark. Go to bootclasspath.txt then paste it there, then save the file.
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"
}
Credit:
Sicopat- for his guide on odexing.
M_j_Nazari- for his guide on odexing and his written commands for the odexing operation. thread link
I keep getting this error when trying to use your script. Help please?
Code:
remounting
'adb' is not recognized as an internal or external command,
operable program or batch file.
daveyannihilation said:
I keep getting this error when trying to use your script. Help please?
Code:
remounting
'adb' is not recognized as an internal or external command,
operable program or batch file.
Click to expand...
Click to collapse
This happened cuz u didn't add the adb directory to the system variables...
Anyway I updated it and it should work now without doing that...please try it and give me a feedback..
alkhafaf said:
This happened cuz u didn't add the adb directory to the system variables...
Anyway I updated it and it should work now without doing that...please try it and give me a feedback..
Click to expand...
Click to collapse
Ok mate. I'll download it and try it when I get home. Just for future reference though, how do I add the ADB directory to system variables??
daveyannihilation said:
Ok mate. I'll download it and try it when I get home. Just for future reference though, how do I add the ADB directory to system variables??
Click to expand...
Click to collapse
Go to my computer,then properties, in advanced there is Environment Variables, press it .. then in system variables add the (path) and write the directory that leads to the adb that u have when u installed android development tools ( it should be in platform-tools folder).
Try odexer first before doing that I can not try it cuz I don't know who to delete the adb from the system variables
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
alkhafaf said:
Go to my computer,then properties, in advanced there is Environment Variables, press it .. then in system variables add the (path) and write the directory that leads to the adb that u have when u installed android development tools ( it should be in platform-tools folder).
Try odexer first before doing that I can not try it cuz I don't know who to delete the adb from the system variables
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
Click to expand...
Click to collapse
Will do when I get home from work mate. So in about 6 hours. But who's counting?
daveyannihilation said:
Will do when I get home from work mate. So in about 6 hours. But who's counting?
Click to expand...
Click to collapse
Lol.. of course not.. cuz I will sleep now... its 6 am here and didn't sleep yet... and you r living the new day
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
alkhafaf said:
Lol.. of course not.. cuz I will sleep now... its 6 am here and didn't sleep yet... and you r living the new day
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
Click to expand...
Click to collapse
Ok I tried it and it didn't work properly.
Code:
remounting
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
0019295d0b1c9e device
remount failed: Operation not permitted
Enter the name of the .apk file u want to odex (without .apk): Mms
sending dexopt-wrapper to the device
failed to copy 'dexopt-wrapper' to '/system/bin/dexopt-wrapper': Read-only file
system
Unable to chmod /system/bin/dexopt-wrapper: Read-only file system
sending the deodexed file to the device
failed to copy 'mod\Mms.apk' to '/system/app/Mms.apk': Read-only file system
Odexing the file:
Unable to create '/system/app/new_Mms.odex': Read-only file system
No error found
pushing the original files to the system
failed to copy 'original\Mms.apk' to '/system/app/Mms.apk': Read-only file syste
m
failed to copy 'original\Mms.odex' to '/system/app/Mms.odex': Read-only file sys
tem
Setting permissions..
Unable to chmod /system/app/Mms.odex: Read-only file system
Unable to chmod /system/app/Mms.apk: Read-only file system
Unable to chmod /system/app/new_Mms.odex: No such file or directory
copying signature from original file:
/system/bin/sh: busybox: cannot execute - Permission denied
replacing with the new odex file
/system/bin/sh: cp: not found
settings permissions for the new odex file
Unable to chmod /system/app/Mms.odex: Read-only file system
Unable to chmod /system/app/Mms.odex: Read-only file system
deleting worked- on file
rm failed for /system/app/new_Mms.odex, No such file or directory
Finished
To odex a file again, press any key
To pull the apk file, press 1
To exit, press 0
That's the error I keep getting. What does it mean? Am I doing something wrong?
daveyannihilation said:
Ok I tried it and it didn't work properly.
Code:
remounting
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
0019295d0b1c9e device
remount failed: Operation not permitted
Enter the name of the .apk file u want to odex (without .apk): Mms
sending dexopt-wrapper to the device
failed to copy 'dexopt-wrapper' to '/system/bin/dexopt-wrapper': Read-only file
system
Unable to chmod /system/bin/dexopt-wrapper: Read-only file system
sending the deodexed file to the device
failed to copy 'mod\Mms.apk' to '/system/app/Mms.apk': Read-only file system
Odexing the file:
Unable to create '/system/app/new_Mms.odex': Read-only file system
No error found
pushing the original files to the system
failed to copy 'original\Mms.apk' to '/system/app/Mms.apk': Read-only file syste
m
failed to copy 'original\Mms.odex' to '/system/app/Mms.odex': Read-only file sys
tem
Setting permissions..
Unable to chmod /system/app/Mms.odex: Read-only file system
Unable to chmod /system/app/Mms.apk: Read-only file system
Unable to chmod /system/app/new_Mms.odex: No such file or directory
copying signature from original file:
/system/bin/sh: busybox: cannot execute - Permission denied
replacing with the new odex file
/system/bin/sh: cp: not found
settings permissions for the new odex file
Unable to chmod /system/app/Mms.odex: Read-only file system
Unable to chmod /system/app/Mms.odex: Read-only file system
deleting worked- on file
rm failed for /system/app/new_Mms.odex, No such file or directory
Finished
To odex a file again, press any key
To pull the apk file, press 1
To exit, press 0
That's the error I keep getting. What does it mean? Am I doing something wrong?
Click to expand...
Click to collapse
That's because your system isn't being set to read write. And it looks like your using an old adb
Sent from my Sensation
blahbl4hblah said:
That's because your system isn't being set to read write. And it looks like your using an old adb
Sent from my Sensation
Click to expand...
Click to collapse
Ok then. Is there a way of setting my file system to read write? And do I just need to update the SDK via Eclipse to get a newer version of adb??
daveyannihilation said:
Ok then. Is there a way of setting my file system to read write? And do I just need to update the SDK via Eclipse to get a newer version of adb??
Click to expand...
Click to collapse
You need to mount it as read write.
Ask the OP to fix the script since he made it
Sent from my Sensation
Did u boot into recovery while doing this operation ?
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
alkhafaf said:
Did u boot into recovery while doing this operation ?
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
Click to expand...
Click to collapse
No I didn't. Do I just need to be on the main screen of ClockWorkMod recovery? And do I put it into recovery before I plug it into the USB cable or half way through the process?
alkhafaf said:
Did u boot into recovery while doing this operation ?
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
Click to expand...
Click to collapse
You don't need to go into recovery to do this.
Just make the script to mount system as a rw
Sent from my Sensation
blahbl4hblah said:
You don't need to go into recovery to do this.
Just make the script to mount system as a rw.
Sent from my Sensation
Click to expand...
Click to collapse
But the script already include that (adb remount)
I think the problem is in the adb itself.. I put the adb with two files with it related to it for the script to use... r these the only files related to adb? Cuz I can not test it as i can not delete the adb from the system variables.
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
alkhafaf said:
But the script already include that (adb remount)
I think the problem is in the adb itself.. I put the adb with two files with it related to it for the script to use... r these the only files related to adb? Cuz I can not test it as i can not delete the adb from the system variables.
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
Click to expand...
Click to collapse
Well my advice is to test this completely before releasing an update
blahbl4hblah said:
Well my advice is to test this completely before releasing an update
Click to expand...
Click to collapse
It should work for anyone who added the adb path to the system variables...I really tested it and works fine.
The only thing that I didn't test is how the script run independently (using the adb which comes with it without using the adb of the platform-tools by adding its path to the system variables )
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
daveyannihilation said:
No I didn't. Do I just need to be on the main screen of ClockWorkMod recovery? And do I put it into recovery before I plug it into the USB cable or half way through the process?
Click to expand...
Click to collapse
Bro. Did u add the adb path to the system variables and tried ?
If u want the instructions Google it and u will probably find it.
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
alkhafaf said:
Bro. Did u add the adb path to the system variables and tried ?
If u want the instructions Google it and u will probably find it.
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
Click to expand...
Click to collapse
No mate I didn't because you asked me not to so that I could test how it works independently for you. You gave me the instructions in a previous post in this thread.
If that's the only way that I can get it to work (by adding it to the system variables) then I will just have to do that. I don't mind testing it for you, but it's up to you.
Let me know what you would like me to do.
daveyannihilation said:
No mate I didn't because you asked me not to so that I could test how it works independently for you. You gave me the instructions in a previous post in this thread.
If that's the only way that I can get it to work (by adding it to the system variables) then I will just have to do that. I don't mind testing it for you, but it's up to you.
Let me know what you would like me to do.
Click to expand...
Click to collapse
I really appreciate yhat , thanks alot..
But u can try to to add The adb to the system variables, maybe the problem is not with the adb..
If it works for u then please give me a feedback about it
Sent from tapatalk using sgs i9000
[ROM][GB][JW8] MesoROM v2.0 8/27/2012 Ultra Light-Smooth-Beauty
Google+
what is deodexing :
SilverZero said:
Deodexed ROMs have their .apk's (which are basically the application packages) repackaged in a certain way. An "odex" can be thought of as a collection of parts of applications that have been pulled out and optimized before booting. This speeds up the boot process - in a way, it preloads part of the applications - but it also makes hacking those apps difficult because part of the original code is already extracted somewhere else.
Deodexing is just a process of putting those pieces back into the original applications. It takes a while to extract those parts and build the .dex cache (aka Dalvik cache), but only because the relevant parts aren't in an easy-to-access place for the system. The advantage of this is that an app can be modified effectively and the developer doesn't have to worry about conflicts from the separate odex part of the code.
So, short version: "Deodexed" ROMs have all their apps put back together. If an app can be themed, for example, a deodexed version of that app will not get messed up when the modified .apk tries to mesh with the odex of the original un-modified .apk. Because it's not there.
If you want an aftermarket theme, you need a deodexed ROM. I'm not sure if deodexing can be done to individual apps within a non-deodexed ROM.
I think that's the general idea, anyway.
Click to expand...
Click to collapse
STEPS :
*Go HERE root tour device .
*Download Busybox installer and install the latest version of busybox compatible with your device.
*Install ADB :
In your android device, go to settings --> applications --> development -->
Check USB Debugging
Make sure your device driver is already installed otherwise install kies software which will install drivers too.. Get kies from This LINK
You need to download this ADB.zip file i made to your system.. Download link
Extract the ADB.zip file from any applications like IZarc/7Zip/winzip/winrar.
credits : DEADLY
*Download Xultimate.
*Connect your phone to computer.(Make sure you have select USB debugging in Settings>Applications>Development)
*Extract xUltimate v2.3.3.zip and Launch Main.exe
*If everything goes well xUltimate should recognize the phone and make a connection.You now should see a list of options.
*Select option (1) pull /system/app. Wait until it complete.
*Select option (2)pull /system/framework. Wait until it complete.
*Then select option (3) Deodex /system/app. Wait until it complete.
[If encounter any error. Find out which .odex file is it. Then remove .odex file from folder origi_app in xUltimate folder]
*Then select option (4)Deodex /system/framework. Wait until it complete.
*Now Exit from xUltimate.
*Put the phone in USB mass storage.
*Go to xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
*Now get out from USB storage mode.
*Open Command prompt.
( Goto folder where android sdk installed. Then goto platform-tools folder in it. Right click on free space in folder while pressing shift key.Select open command prompt here.
Now enter commands. )
*Enter following codes.
(if you are using adb shell in su for the first time, keep phone screen on. After entering "su" code, super user request prompt in phone. Press allow )
Code:
adb shell
su
stop
mount -o rw,remount /system/ /system/
cp /sdcard/done_app/* /system/app/
rm /system/app/*.odex
cp /sdcard/done_frame/* /system/framework/
rm /system/framework/*.odex
mount -o ro,remount /system/ /system/
reboot
*Enjoy your DEODEXED rom ! also thank : chamatht (for i learnt this from him ).
Troubleshooting :
srt99 said:
for those who are having troubles with option (3),
exit Xultimate, go to task manager and find process adb.exe, select it and click on end process!
that's it, now run xultimate and run option (3) [no need to run option 1 and 2 again]
Click to expand...
Click to collapse
____________________________________
thoughtfully scribbled by nikufellow
Hi! Thanks for the Guide!
I don't know if I am doing something wrong, but I can't make it work. Every .odex file give me a error, so delete every odex will not help, I guess. Have you or anyone tested this guide with our firmware? (original 2.3.6, Only root).
I was trying to deodex, so I could make some little changes (like battery icon) without flash another rom.
battery icon is working for me but the rest not.... I'm using Rom toolbox
Sent from my GT-I9070 using xda app-developers app
johnnybr said:
Hi! Thanks for the Guide!
I don't know if I am doing something wrong, but I can't make it work. Every .odex file give me a error, so delete every odex will not help, I guess. Have you or anyone tested this guide with our firmware? (original 2.3.6, Only root).
I was trying to deodex, so I could make some little changes (like battery icon) without flash another rom.
Click to expand...
Click to collapse
You need xUltimate v2.3.3 only
I do not respond to tech support via PM
Battery icon works on odexed stock rom. I try this method tonight
GT-I9070P®land
Just done deodexing a stock jb rom for i747 through kitchen, then I read this post. Awesome job, man. :good:
At first this method works,
later after i reflash rom, rooted and do this again,
i get bootloop, any idea?
I tried 5 times and everytime bootloop
But why use the stop command ? Doesn't that stop Android itself entirely ?
I give up writing anymore signatures.
hey bro why this method shows error of insufficient space...
can you help me in dis...
i m having samsung galaxy fit running on 2.3.6 ddkt3
Why i cant!? Heeeelp please!!
for those who are having troubles with option (3),
exit Xultimate, go to task manager and find process adb.exe, select it and click on end process!
that's it, now run xultimate and run option (3) [no need to run option 1 and 2 again]
srt99 said:
for those who are having troubles with option (3),
exit Xultimate, go to task manager and find process adb.exe, select it and click on end process!
that's it, now run xultimate and run option (3) [no need to run option 1 and 2 again]
Click to expand...
Click to collapse
Thanks for the info added to first post
____________________________________
thoughtfully scribbled by nikufellow
I am able to pull app and framework but i'm not able to deodex them I get errors for each file...
adb.exe is not running so that's not the problem
edit: I own a Samsung Galaxy R (i9103)
ROKronoS said:
I am able to pull app and framework but i'm not able to deodex them I get errors for each file...
adb.exe is not running so that's not the problem
edit: I own a Samsung Galaxy R (i9103)
Click to expand...
Click to collapse
This is for I9070, you only can get bootloop if you use this.
Somebody gave me this link in the R section
Thanks anyway
Me too
ROKronoS said:
I am able to pull app and framework but i'm not able to deodex them I get errors for each file...
adb.exe is not running so that's not the problem
Click to expand...
Click to collapse
And now?
S Advance I9070
Do this has chances to brick my device if i do it wrong?
Sent from my GT-I9070 using xda app-developers app
Одг: [GUIDE]DEODEX stock ROM !!!!
AnMotass said:
Do this has chances to brick my device if i do it wrong?
Sent from my GT-I9070 using xda app-developers app
Click to expand...
Click to collapse
If there is any possibility to brick, it would be soft brick, that you can repair by flashing firmware with Odin.
Sent from Galaxy S Advance
ive got the error message for every app too. deleted many odex files. but it wouldn´t getting better. adb not running in taskmanager.
Starting BluetoothAvrcp.odex
*****************************************
* Deodexing... *
UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: Unknown opcode: f1
at org.jf.dexlib.Util.ExceptionWithContext.withContext(Exception
ext.java:54)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(In
nIterator.java:87)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:157)
at org.jf.dexlib.Item.readFrom(Item.java:76)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.jav
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.baksmali.main.main(main.java:254)
Caused by: java.lang.RuntimeException: Unknown opcode: f1
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(In
nIterator.java:51)
... 6 more
Error occured at code address 36
code_item @0x13dc
Drücken Sie eine beliebige Taste . . .
*****************************************
MAJOR ERROR!! WITH DEODEXING! BluetoothAvrcp.odex
*****************************************
********DELETING INCORRECT FILES*********
please exit out of window "***Deodexing ADB Window, DO NOT EXIT!***"
any ideas?
shut_down said:
This is for I9070, you only can get bootloop if you use this.
Click to expand...
Click to collapse
I disagree , this is a generic method for deodexing most phones , it's just that the stupid Sammy made un-deodexable .apks for us to suffer in
"Viper kills.....again!"
GUIDE
This is a guide to help you de-odex your Jellybean odexed firmware.
As X-ultimate is not working on jellybean firmwares and @Agadoo spends a lot of time deodexing every firmware, I thought this guide can help a lot of people including @Agadoo.
THINGS TO REMEMBER :-
1. I AM “ NOT AT ALL RESPONSIBLE” FOR ANY SOFT-BRICKS OR ANY OTHER DAMAGES TO YOUR PC OR PHONE
2. WHEN YOU DEODEX YOUR FIRMWARE, SYSTEM WILL WRITE “.dex” FILES IN /data/dalvik-cache, WHICH WILL REDUCE SPACE IN THAT FOLDER.
3.YOU WILL READ THE WHOLE THREAD CAREFULLY BEFORE DOING ANYTHING.
There is a simple way to deodex your firmware i.e. using universal deodexer (http://forum.xda-developers.com/showthread.php?t=2213235). Here, when I say simple, I mean the download and setup of this program is simple.
But a few features are missing in it. Firstly it cannot zipalign after deodexing the firmware. The second problem is a major problem , as far as I think. We have preload partition and a system partition in our phone. The “.apk” and “.odex” files stored in the preload partition, have symlinks in the system folder. It means there are a few “.apk” and “.odex” files in the system folders which are not actually applications but symlinks of those apps in preload folder. So you need to manually sort them out, which is a real pain in your a**. But don’t worry, the below mentioned method is different.
ANOTHER way to deodex, like Universal deodexer....... Carbonite tool (credits- adityaf) --- http://forum.xda-developers.com/showthread.php?t=2226160 (ty kingbabasula)
***********************************************************************************************************************************************************************************************************************************************************
This method uses android kitchen (by dsixda) to deodex the firmware. SO ALL THE CREDITS GO TO HIM. Original thread ------- http://forum.xda-developers.com/showthread.php?t=633246
Setup looks complex because I have given a detailed explanation on how to do it.
The guide is in two parts. First part in first post and the second in the second post.
PART - 1
PREREQUISITES :- (installing cygwin and android kitchen)
1.LATEST VERSION OF JAVA SHOULD BE INSTALLED ON YOUR PC.
2.CYGWIN……….
Go to (http://www.cygwin.com) and download the LATEST setup.exe file TO AVOID ERRORS. (Remember to install in C:\cygwin) SEE BELOW, HOW TO INSTALL.
************************************************************************************************************
Cygwin instructions for dsixda's Android Kitchen
-------------------------------------------------
1) Run the Cygwin setup.exe and select the defaults for the installation paths, such as:
- install from internet
- install to C:\cygwin
2) At the 'Select Packages' screen, go to the 'Search' box to look for the following package:
* gcc4 (found under 'Devel')
- Click on the '+' symbol at the section it's found under
NOTE:- IN THE SELECT PACKAGE SCREEN, UNTICK "HIDE OBSOLETEPACKAGES" IN BOTTOM LEFT CORNER, AND THEN SEARCH FOR "gcc4".
..................Now it would be found under "_obsolete" and not under DEVEL...... (thanks bob for pointing)
- Then find this single package (only the one with this exact name, not multiple similarly-named ones!) and click 'Skip' once so that it changes to show a version number
Go back to the Search box and repeat the above steps for the rest of the packages:
* libmpfr4 (found under 'Libs')
* perl (found under 'Interpreters')
* cpio (found under 'Utils')
* util-linux (found under 'Utils')
* ncurses (found under 'Utils')
* zip (found under 'Archive')
* unzip (found under 'Archive')
* wget (found under 'Web')
3) Press Next to proceed installing these packages.
4) When installation has been completed, click on your new Cygwin desktop shortcut. This will open a terminal session that will run some initialization.
5) With the Cygwin terminal still open, we need to configure the path to the Java application so that it can be executed within Cygwin.
In the terminal, type the command 'java' (without quotes). If it says 'command not found', then read the below. Otherwise, skip this section.
First, make a backup of your .bash_profile file in case you make a mistake later in this procedure.
Enter the following in the terminal:
cp .bash_profile .bash_profile.backup
Next, find out where your java.exe file is and run the appropriate command to add it to your Cygwin path.
For example, my java.exe is found under C:\Program Files\Java\jre7\bin, so I had to type:
echo "PATH=/cygdrive/c/Program\ Files/Java/jre7/bin:\${PATH}" >> .bash_profile
Modify the command above so that it matches the actual path to your installed Java.
Remember to add a "\" character before any spaces in your path, as shown above.
Type the following so that the file gets loaded (you only need to do this once):
source .bash_profile
There should not be any errors displayed if successful.
(Otherwise, if you made an error in the .bash_profile file, restore your backup by typing: cp .bash_profile.backup .bash_profile, and then try the procedure again)
If done correctly, then when you type 'java' it should display some help information.
6) Your Cygwin is now ready for the kitchen!
************************************************************************************************************
3. Now download the kitchen from dsixda’s github https://github.com/dsixda/Android-Kitchen/tags. (Click the zip option.)
4. Now create a folder kitchen inside C:\cygwin\home\ and extract the kitchen’s zip in that folder. Your kitchen is setup now.
View the next post for deodexing
Credits:
1. Cygwin
2. dsixda
3. BOBFRANTIC FOR REPORTING
PART -2
HOW TO DEODEX :-
Requirements……………….
1. Download this zip file which contains two windows application files and updater script. LINK------ http://db.tt/T9Tooxy8
a. Linux disk internals - Install this file.
b. SGS2ext - Just keep it.
c. META-INF - Just keep it.
2. WinRAR
Procedures…………………….
1.Download the Samsung firmware that you want to deodex and Extract the “system.img.md5” and “hidden.img.md5” from the firmware(.tar.md5) with WinRAR. I suggest you extract it in new clean folder. Just minimize this folder.
2.Now right click SGS2ext.jar and open it with java. A window will open. Now drag the system.img.md5 (that you have extracted) from the minimized folder to this window. Let it complete fully. After that reopen SGS2ext do the same with hidden.img.md5. You will get two files in that folder i.e. “system.img.ext4.img” and “hidden.img.ext4.img”.
{
"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"
}
3.Make a folder by name “WORKING_deodex” inside C:\cygwin\home\****\kitchen\. The word “WORKING_” should be in capital letters. Copy the META-INF folder that you downloaded to the “WORKING_deodex” folder. Create two new folders inside “WORKING_deodex” folder namely “system” and “preload”.
4.Search and Open the application “DiskInternals Linux Reader”. Select mount image from the left pane. Select raw disk images and click next. Browse and select “system.img.ext4.img”. This file will then be mounted. Inside the mounted folder, click only the “app” and “framework” folder and save it inside C:\cygwin\home\****\kitchen\WORKING_deodex\system
Do the same with with “hidden.img.ext4.img” file. But this time after mounting, save only the symlink folder to C:\cygwin\home\****\kitchen\WORKING_deodex\preload.
5. Now open cygwin terminal from desktop. Remember to run this as an administrator.
Then type “cd kitchen”.
Now type command “./menu”. You will enter android rom kitchen.
Go to “advanced options” and select deodex files.
IN THIS SCREEN SELECT THE OPTION "v" TO SET API.
SET API TO "16" as we are deodexing 4.1.2 firmware. (THANKS BOB AGAIN)
Then Deodex both app and framework folders.
Android kitchen will do the rest automatically. It will take a few minutes to complete.
6. After that go to
C:\cygwin\home\****\kitchen\WORKING_deodex\META-INF\com\google\android and open the updater script with notepad++.
In this file check if all the “.apk” files in preload partition are symlinked. Otherwise just add following line with the apk name from preload.
For example if there is Gmail.apk inside preload, then to symlink it write :-
symlink("/preload/symlink/system/app/Gmail.apk", "/system/app/Gmail.apk");
7. Now select the option to create a rom from working folder and select interactive mode.
It will first zipalign rom, compress it and sign the zip file.
Then transfer it to your sdcard and flash the file.
8. You can also push the files via adb
If you face any problem report it…………
Save @Agadoo’s data plan……
Reserved
Thanks for this, appreciated. I am running into a puzzlement right from the start. When I get to the select packages part of the Cygwin Setup and search for the first package gcc4 there is nothing to select. I noticed before this step you have a bunch of sites to download from. I selected the first. See screenshot.
bobfrantic said:
Thanks for this, appreciated. I am running into a puzzlement right from the start. When I get to the select packages part of the Cygwin Setup and search for the first package gcc4 there is nothing to select. I noticed before this step you have a bunch of sites to download from. I selected the first. See screenshot.
View attachment 2087910
Click to expand...
Click to collapse
Wait, the gcc4 has become obsolete. Wait till i update the post. thanks for reporting.
EDIT:- In the screenshot you posted, untick the hide obsolete packages and then search for gcc4. But it wont be under devel, it will be under obsolete package. (remember that)
bobfrantic said:
Thanks for this, appreciated. I am running into a puzzlement right from the start. When I get to the select packages part of the Cygwin Setup and search for the first package gcc4 there is nothing to select. I noticed before this step you have a bunch of sites to download from. I selected the first. See screenshot.
View attachment 2087910
Click to expand...
Click to collapse
Updated 1st post. See the steps again.
Deodex working ok, but with the SecEmail there is a problem and can't deodex that. So haven't been able to go further than deodexing so far.
Error occured while disassembling class Lcom.android.email.activity.setup.AccountSettingsHtmlSignatureFragment; - skipping class
java.lang.RuntimeException: regCount does not match the number of arguments of the method
at org.jf.dexlib.Code.Format.Instruction35c.checkItem(Instruction35c.java:160)
at org.jf.dexlib.Code.Format.Instruction35c.<init>(Instruction35c.java:69)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:3681)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1106)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:213)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:389)
at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:311)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338)
at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefinition.java:294)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:116)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:186)
at org.jf.baksmali.main.main(main.java:308)
Assembling into classes.dex ...
java -Xmx512m -jar smali.jar -a 17 -o classes.dex out
out\com\android\email\activity\MessageCompose.smali[0,-1] no viable alternative at input '<EOF>'
out\com\android\email\activity\setup\AccountSettingsHtmlSignatureFragment.smali[0,-1] no viable alternative at input '<EOF>'
WARNING: Unable to produce classes.dex!
that's where I am at so far
Ok not able to deodex. Tried moving SecEmail files from preload to apps. Spent enough time today so will try another day. Your guide is most appreciated. This problem is the result of something else going on.
Sent from my GT-I9070 using xda app-developers app
bobfrantic said:
Ok not able to deodex. Tried moving SecEmail files from preload to apps. Spent enough time today so will try another day. Your guide is most appreciated. This problem is the result of something else going on.
Sent from my GT-I9070 using xda app-developers app
Click to expand...
Click to collapse
bobfrantic said:
Deodex working ok, but with the SecEmail there is a problem and can't deodex that. So haven't been able to go further than deodexing so far.
Error occured while disassembling class Lcom.android.email.activity.setup.AccountSettingsHtmlSignatureFragment; - skipping class
java.lang.RuntimeException: regCount does not match the number of arguments of the method
at org.jf.dexlib.Code.Format.Instruction35c.checkItem(Instruction35c.java:160)
at org.jf.dexlib.Code.Format.Instruction35c.(Instruction35c.java:69)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:3681)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1106)
at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:213)
at org.jf.baksmali.Adaptors.MethodDefinition.addAnalyzedInstructionMethodItems(MethodDefinition.java:389)
at org.jf.baksmali.Adaptors.MethodDefinition.getMethodItems(MethodDefinition.java:311)
at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132)
at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338)
at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefinition.java:294)
at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:116)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:186)
at org.jf.baksmali.main.main(main.java:308)
Assembling into classes.dex ...
java -Xmx512m -jar smali.jar -a 17 -o classes.dex out
out\com\android\email\activity\MessageCompose.smali[0,-1] no viable alternative at input ''
out\com\android\email\activity\setup\AccountSettingsHtmlSignatureFragment.smali[0,-1] no viable alternative at input ''
WARNING: Unable to produce classes.dex!
that's where I am at so far
Click to expand...
Click to collapse
I AM EXTREMELY SORRY. I FORGOT ONE IMPORTANT THING. IN THIS SCREEN SELECT THE OPTION "v" TO SET API.
SET API TO "16".
THEN TRY TO DEODEX.
anantttt said:
I AM EXTREMELY SORRY. I FORGOT ONE IMPORTANT THING. IN THIS SCREEN AFTER SELECT THE OPTION "v" TO SET API.
SET API TO "16".
THEN TRY TO DEODEX.
Click to expand...
Click to collapse
That was gonna be my next question. I saw something in the build.prop saying sdk 16 so wondered. thanks for the info. guess you will update things.
bobfrantic said:
That was gonna be my next question. I saw something in the build.prop saying sdk 16 so wondered. thanks for the info. guess you will update things.
Click to expand...
Click to collapse
Already updated. See OP.
It worked. will finish rest tomorrow but deoxed fine.
Sent from my GT-I9070 using xda app-developers app
Oh that is great!!! So I think the guide is complete now.
Tell me if the updater script is working properly.
Finished. Made the deodexed zip, followed the prompts in kitchen. Zipaligned, checked the update-script all was good. Signed zip took a bit of time, renamed it and put into my sd card. Started from scratch on phone with fresh install of XXLQG firmware, installed cocafe's 6.8 kernel/cwm, installed my deodexed firmware zip and phone rebooted fine and is deodexed. Preload, symlinks, apps, framework all are correct. Thanks for the guide and I can't think of anything else to add other than be patient, some steps take a while.
$ echo"PATH=cygdrive/c/Program\Files/Java/jre7/bin:\${PATH}">>.bash_profile
cygwin warning:
MS-DOS style path detected: echoPATH=cygdrive/c/Program\Files/Java/jre7/bin:${PATH}
Preferred POSIX equivalent is: echoPATH=cygdrive/c/Program/Files/Java/jre7/bin:${PATH}
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
-bash: echoPATH=cygdrive/c/Program\Files/Java/jre7/bin:${PATH}: No such file or directory
when I try to put the address of java appears the inscription above, and when I go into the kitchen and I type. / menu says that java is not installed.
what am I missing?
lobotwister said:
$ echo"PATH=cygdrive/c/Program\Files/Java/jre7/bin:\${PATH}">>.bash_profile
cygwin warning:
MS-DOS style path detected: echoPATH=cygdrive/c/Program\Files/Java/jre7/bin:${PATH}
Preferred POSIX equivalent is: echoPATH=cygdrive/c/Program/Files/Java/jre7/bin:${PATH}
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
-bash: echoPATH=cygdrive/c/Program\Files/Java/jre7/bin:${PATH}: No such file or directory
when I try to put the address of java appears the inscription above, and when I go into the kitchen and I type. / menu says that java is not installed.
what am I missing?
Click to expand...
Click to collapse
Do you have java installed?????
If not install the latest version of java and then try this command.
bobfrantic said:
Finished. Made the deodexed zip, followed the prompts in kitchen. Zipaligned, checked the update-script all was good. Signed zip took a bit of time, renamed it and put into my sd card. Started from scratch on phone with fresh install of XXLQG firmware, installed cocafe's 6.8 kernel/cwm, installed my deodexed firmware zip and phone rebooted fine and is deodexed. Preload, symlinks, apps, framework all are correct. Thanks for the guide and I can't think of anything else to add other than be patient, some steps take a while.
Click to expand...
Click to collapse
Well yes. Signing takes a bit of time. You can skip signing if you want.
Now, one more question. Totally off topic
Will you challenge Agadoo, in uploading the deodexed firmware.
anantttt said:
Well yes. Signing takes a bit of time. You can skip signing if you want.
Now, one more question. Totally off topic
Will you challenge Agadoo, in uploading the deodexed firmware.
Click to expand...
Click to collapse
Actually I have pretty well every deodexed firmware on my puter. I was thinking of starting a thread with all in one location instead of how it is now with them spread all over the place LOL. Whatcha think? Good idea or not...
bobfrantic said:
Actually I have pretty well every deodexed firmware on my puter. I was thinking of starting a thread with all in one location instead of how it is now with them spread all over the place LOL. Whatcha think? Good idea or not...
Click to expand...
Click to collapse
Good idea. But frapeti already has a thread in the dev forum.
And one more thing, after deodexing in the build.prop add these lines. Saw it in frapeti's thread.
LINK--- http://forum.xda-developers.com/showthread.php?t=1437799
anantttt said:
Do you have java installed?????
If not install the latest version of java and then try this command.
Click to expand...
Click to collapse
I do have java installed, but I can not make the program recognize the path to the folder of it, with all methods we have deodex forum I always have this problem with java, I do not know what else to do, just will not.
Uploaded with ImageShack.us