can somebody point me into the right direction on how I can deodexed stock 4.4.4 on x1039.
thank you.
try Android Kitchen 0.224 - by dsixda (xda-developers.com)
When installed, update baksmali and smali to latest versions. Also priv-app will not be expected. After deodexgin /system/app rename folder to apps2 and rename priv-app to app - then run deodexing again. Afterwards rename folders back to original.
Related
UOT Kitchen states "you can now use kitchen with stock odexed roms (if you have .odex files in your rom - kitchen works for you too)". I'm running the stock OTA 2.3.6 ROM (odexed), rooted, with 3e Recovery on my SR. Trying to create a very simple battery icon and status bar mod using the Kitchen. Instructions say to upload your ROM's "framework-res.apk" and "systemUI.apk" files along with your theme changes... and Kitchen creates a cooked-up zip file you can flash. But have a few questions:
1) since it says it now supports odexed ROMs, do I also need to upload the "systemUI.odex" file along with "systemUI.apk" and "framework-res.apk files?
2) does the cooked up zip file contain "framework-res.apk", "systemUI.apk" and "systemUI.odex" files... or just the 2 apk files?
3) if only the apks, do I leave my original "systemUI.odex in /data/app folder... or move/delete it?
4) without CWM, can I extract the needed apks from the zip file created by the Kitchen and use Root Explorer to fix permissions and place files in their appropriate folders?
I posted these questions on the UOT Kitchen site, but they must be backed up as have not received any reply... hoping someone here on the SR Forum may have some experience with the UOT Kitchen and using odexed ROMs. Thx!
1. You need SystemUI.apk from /system/app, framework-res.apk from /system/framework, and twframework-res.apk from /system/framework
2.it will contain updates to framework-res.apk, twframework-res.apk, and systemui.apk and might add to the system/media or any other area you elect to modify
3. dont touch the odex files. they will be needed as is.
4. maybe, maybe not. I always use CWM to install. Sorry.
Is it possible to modify code in a system .odex file without de-odexing?
Here is what I've been trying, without success (Windows computer, Samsung Epic 4G Touch phone, stock ROM with 2.3.6):
On my computer, using Android Commander, I pull a .odex from /system/app to my computer. There is a corresponding .apk, but I leave that alone. I also pull the entire /system/framework folder.
On my computer, from the location containing the framework folder and the .odex file, I run "java -jar baksmali.jar --api-level 10 -d framework -x <FILE_NAME>.odex". This creates an "out" folder, with the com/android/<FILE_NAME> folder structure and the code.
I modify the code (.smali files).
I rename the original .odex file and run "java -jar smali.jar --api-level 10 out/ -o <FILE_NAME>.odex". This creates a new .odex file that, as far as I can tell, should have the updated code in it.
Using Android Commander, I push the new .odex to /system/app on my phone, change the permissions to 644, and reboot the phone.
The changes aren't having an effect. In fact, the status bar is completely gone (the example I'm working on is a mod to the status bar in SystemUI.odex).
Any idea what I'm doing wrong?
So I'm getting the feeling that it's not possible to edit odexed apks. Is there anyway to de-odex just a single apk rather than the whole rom?
Brent212 said:
So I'm getting the feeling that it's not possible to edit odexed apks. Is there anyway to de-odex just a single apk rather than the whole rom?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1208320
Basically, no odex can be edited and put back that easy. Wrapping and Signing ODEX style is required.
Awesome! That thread's perfect. I'm hoping I can deodex, mod the code, create a classes.dex file and put it in with the .apk, zipalign it, and just replace the existing .apk and .odex with the new .apk.
That thread (http://forum.xda-developers.com/showthread.php?t=1208320) had the answers I was looking for.
The trick was to either rename the new .odex to classes.dex and put it into the .apk, and zipalign the .apk (although I have a feeling that wasn't actually necessary), or to copy the signature from the old .odex file to the new one.
Brent212 said:
That thread (http://forum.xda-developers.com/showthread.php?t=1208320) had the answers I was looking for.
The trick was to either rename the new .odex to classes.dex and put it into the .apk, and zipalign the .apk (although I have a feeling that wasn't actually necessary), or to copy the signature from the old .odex file to the new one.
Click to expand...
Click to collapse
Odex is not dex. And vice versa. Remember that. When compiling, the result is always dex. To have odex, you need to wrap it with dexopt-wrapper within your phone.
sent from my white ray using XDA App
I am trying to make a minor change to my services.jar and so far have no been successful.
I deodexed the file with xultimate2.3.3 , extracted the classes.dex with 7zip 9.2, I used apktool 1.4.3 to "expand" the contents, made the change, repacked the dex file and put it back into services.jar and the phone cannot compelete boot. I made sure to change the permissions, owner a group to match the previous file.
I then tried using Xultimate to deodex the file and put it back on the phone and this also keeps it from booting.
I then tried using the already deodexed file from another rom (2.2.1 vs 2.2.2) and it had the same issue.
So far I have to reflash my phone with Odin every time and I am getting tired of making the same mistake over and over.
edit: Maybe I should ask - what is the appropraite way to move the file over? I am doing it by going into root explorer, deleting /system/framework/services.jar+services.odex, using adb push to put the file on the sdcard, using root explorer to move it from sdcard to /system/framework then changing the permissions in root explorer to match the previous file before finally running "chown root.root /system/framework/services.jar" from adb shell
Either my method for copying the file is bad or xultimate 2.3.3 is messing up the deodex. Any advice on another tool to use to deodex this file?
You should be using baksmali/smali to decompile/recompile classes.dex, not apktool :/
Apktool can decompile .jars too
I use it and works fine
@OP
After deodexing decompile the jar using Virtuous Ten Studio by Diamondback(Google it)
Burned from my laser torch using pencil cells
Thank you for the replies. I will try these suggestions.
As a side note I also tried to use Xultimate to deodex the file, then ran dexopt-wrapper on the output to reodex the unchanged file and the phone is stuck in a boot loop.
You can read about re-odexing files here http://themikmik.com/showthread.php...w-About-adb-odex-themes-etc&p=75225#post75225
Can you give suggestions on another tool to de-odex the services.jar file? I think xultimate is the problem. It is the only common denominator.
I forgot to add that the original services.odex is a different size and has different contents from the new services.odex created by xultimate+dexopt-wrapper
I didn't expect it to work but I took the modified/deodex services.jar from a 2.2.1 rom and put it into my 2.2.2 rom and it had the same non boot issue.
The newest version of xUltimate i could find.
Enjoy
http://www.xeudoxus.com/android/xUltimate-v2.4.2.zip
I have a question...
Can i delete odex files manually in /system/app and /system/framework without consequencies ?
Enzo.
No you can't, they form part of the app. You'd have to deodex the ROM or replace the apps with their deodexed versions to remove the odex files without issues
Thanks !
Deodexed rom stock founded, i replace the odex files by the deodex versions.
I am using
Android lolipop 5.1
I am new to deodexing .and i have successfully have deodexer my system/app and system/priv-app
But when I tried to deodex my framework
I could only deodex some jar files because only some of them have odes in framework/arm
From my research I found out that test of odex are located in framework/arm/boot.oat
My question is then how will I extract these odex
And even if I extract and recompile these odex
The system will still contain boot.oat so it would neglect
The jars and still will use the odex files contained in boot.oat
So what I want
I want to deodex my framework
I want system to use classes.Dec from jar and not fromboot.oat
I want to modify android.policy.jar but the classes.dex of android.policy.jar is struct I. Boot.oat
Sory for long post
Thanks in advance! !