Okay lets start off by saying I am not the creator of this so I am in general. Here is where I got everything I needed. http://forum.xda-developers.com/showthread.php?t=1500475 . By following these simple steps you can have an odexed version of any rom you want.
To go one step further I modded the odex script to also odex all my app in the data/app folder. So what does that mean? Well no dalvik-cache unless I install a new app! Which in turn leads to less total space used.
Have fun and as always do a backup first just to be safe! I have had no issues doing this but as they say stuff happens.
Sent from my PC36100 using xda app-developers app
Related
Is there a way I can add this with root explorer
Sent from my PC36100 using XDA App
I think it has to be done to each .apk using the Android SDK before cooking the ROM. I don't think it can be done in situ.
You can install this script and binary using root explorer (I assume - don't have it), and then run the script to zipalign your apks.
http://forum.xda-developers.com/showthread.php?t=594615
Ah, well, my bad. I suggest reading that whole thread real quick, it has some good info about the fact that all apps created using the 1.6 SDK are automatically zipaligned anyway when they're developed, so soon there should be very few apps around that AREN'T zipaligned.
Yeah, there were only 4-5 apps on my phone that weren't already zipaligned.
After the ICS update, we now have a "vendor" directory within our system folder.
This folder seems to hold duplicates of folders found within the "system" directory (which includes the "app" directory, containing bloatware and copies of apps from "system/app").
My questions are:
What is the purpose of the "vendor" directory?
And, can the "vendor" directory be safely deleted all together? (I did give this a go, and up to now, do not seem to be experiencing any side effects.)
Sent from my LT15i using xda app-developers app
Vendor directory is there since gingerbread. That is where sony put all miscellanous files. For example all apk's inside the vendor/app are only being used by setup guide. If setup guide is launched for the 1st time it copies all the contents inside vendor directory and being copy pasted to it's respective directories.
It was mainly made for the use of the factory reset in the settings app in the phone. Wherein if you do a factory reset the phone delete's all the data it contains and return back the 3rd party files back in case you uninstalled it.
Oh, I never noticed it while I was on GB. The only reason I noticed it this time was because I had bloatware running from the vendor dir (such as Lets Golf).
Sent from my LT15i using xda app-developers app
Yes. If you were a ROM developer and want to integrate some optional apps(let users have the right to uninstall it if they want to) then the best place to put it is in the vendor directory.
How does that work then? As with the bloatware I had, I had to use root explorer to remove it from the vendor directory to stop it from being available on the device, the option to uninstall in the settings menu wasn't available.
Sent from my LT15i using xda app-developers app
I'm not sure if it was a bug or what but that's not the case on GB. Probably sony intended it to be like that or they have done some minor errors.
Anyways I don't see any good reason why the likes of let's golf be considered as a system app. It won't even work unless you download it's game data.
Ah I see.
Yeah, I'm with you on that one, totally not cool of them to make a game a system app .
Sent from my LT15i using xda app-developers app
Due to vendor app partitions.
We get very less space around 40 kb in system partitions
Sent from my Xperia Arc using Tapatalk 2
To get rid of this f***** use less partition .
Flash arc s fw.
Sent from my Xperia Arc using Tapatalk 2
Is there no other way of completely removing the partition without having to flash an S rom?
Sent from my LT15i using xda app-developers app
92jacko said:
Is there no other way of completely removing the partition without having to flash an S rom?
Sent from my LT15i using xda app-developers app
Click to expand...
Click to collapse
No there is no other method
Sent from my Xperia Arc using Tapatalk 2
This is a Question Thread! [Q & A]
MOD ----> Move or Delete
Why he ask 4 questions in 1 thread and put it to General...
The answers are also questions so move!!!
If I'm just staying on stock but rooted...where would I get the odex file that comes with the apk file?
For instance I copied the mms.apk file from another rom a while back because it was color themed (the bubbles)...but at the time I was on an deodexed rom. Now I'm on an odexed rom (stock). Then I just copied it to system/app set permissions and rebooted.
Can I still do that?
Sent from my Nexus 4 using xda app-developers app
Yes it will work fine, you just won't get an odex file to begin with. Don't use the old odex or force one on it will cause lots and lots of force closes and class definition problems. Download an app called SystemCleanup, it can create odex files for any system apps. Sideload something like MMS.apk from CM10 (like I did), set perms, then create an odex.
Jobs a good'n
skezza said:
Yes it will work fine, you just won't get an odex file to begin with. Don't use the old odex or force one on it will cause lots and lots of force closes and class definition problems. Download an app called SystemCleanup, it can create odex files for any system apps. Sideload something like MMS.apk from CM10 (like I did), set perms, then create an odex.
Jobs a good'n
Click to expand...
Click to collapse
I did this but before you had responded and never made the odex file...seems to be working fine. Do I need to do that? Or just leave it be?
Sent from my Nexus 4 using xda app-developers app
odex file will speed up a tiny amount.
I recently rooted my stock AT&T Samsung Galaxy S4 (MF3) and have been implementing a few improvements that I've found on this thread but have run into a strange error twice already when trying to replace an existing system app with a modded version.
With other phones in the past I simply paste an app into system/app and set RW-R-R permissions, then reboot the phone. During the next boot it usually says "android is upgrading 1 of 1" and creates a matching .odex file in the /system/app folder and everything works perfect.
So far I've tried to replace the SecPhone.apk with a version that allows call recording, and the TetheringProvision.apk with one that will let me tether on my AT&T phone. In both instances I reboot, but it never says "upgrading", nor is an .odex file created, and then the app fails to work. With the TetheringProvision.apk I also kept getting a "failed to change permissions" error in ES File Explorer, so I retried with Root Explorer, and SMangager but none of them could change the permission on the apk once it was in the system/app folder (yes /system was mounted R/W). I'm not sure if this is related to the above problem or not.
Has anyone else had a similar issue? I have frozen most of the Samsung bloatware apps and while I've been careful, I suppose I could have accidentally frozen something important, but everything other than these replacement system apps seems to be working perfectly. I thought android automatically checked for new apps on every boot, but apparently not on my phone.
Is there any way to force an app check on boot? Thanks for the help.
So I guess no one else has had a similar issue...
Sent from my GT-I9505 using xda app-developers app
You can not mod a rom that is odexed...period, unless it is made for odex.
TheAxman said:
You can not mod a rom that is odexed...period, unless it is made for odex.
Click to expand...
Click to collapse
Sorry, what do you mean by "period, unless it is made for odex"? Can you or can't you?
Sent from my GT-P7510 using xda premium
stinky73 said:
Sorry, what do you mean by "period, unless it is made for odex"? Can you or can't you?
Sent from my GT-P7510 using xda premium
Click to expand...
Click to collapse
For an Odexed system, an Odex file is required to be installed along with the original file. So if a mod is created for an "Odexed" system, it will have a .odex file accompanying it that must be installed also. Installing a deodexed file into an odexed system doesn't work unless the deodexed file is split down into its 2 parts again (original file, plus .odex file)..
This was very helpful. Is there a guide you could recommend to me on how to make an odex file from the modded apk that I have so that I can get these programs working on my S4?
Sent from my GT-I9505 using xda app-developers app
stephend9 said:
This was very helpful. Is there a guide you could recommend to me on how to make an odex file from the modded apk that I have so that I can get these programs working on my S4?
Sent from my GT-I9505 using xda app-developers app
Click to expand...
Click to collapse
Following article explains the odexing procedure "http://forum.xda-developers.com/showthread.php?t=1208320"
Install a transparent notification bar, forgot to keep a copy of the original sysmui. Now i have no status bar and a black baground. If anyone can copy it from their phone, i really appreciated. Im on a active with mf3. Thanks
Sent from my SAMSUNG-SGH-I537 using Tapatalk 2
Could you go into a little detail on what happened and what you have done to try to fix it? I don't understand what your saying.
I think he wants the systemUI.apk for the active because he fubar'd his.
jd1639 said:
I think he wants the systemUI.apk for the active because he fubar'd his.
Click to expand...
Click to collapse
Any ideas where to get that? I don't even think that will install without flashing, but can't flash on MF3 yet.
Sent from miPhone using XDA Premium HD app
agent929 said:
Any ideas where to get that? I don't even think that will install without flashing, but can't flash on MF3 yet.
Sent from miPhone using XDA Premium HD app
Click to expand...
Click to collapse
You can copy the file from root explorer without flashing. I was able to get a copy of the systemui and place it into the sys/app folder. Now everything is back to normal.
Sent from my SAMSUNG-SGH-I537 using Tapatalk 2
Sweet nice job. Will remember that for the future
Where did you get it from?
Sent from miPhone using XDA Premium HD app
agent929 said:
Sweet nice job. Will remember that for the future
Where did you get it from?
Sent from miPhone using XDA Premium HD app
Click to expand...
Click to collapse
Got it from a friend who just picked up a s4 active.
Sent from my SAMSUNG-SGH-I537 using Tapatalk 2
So you just copied the apk off his phone I'm assuming? I'm also assuming it's the same apk as the regular S4? (I'm just trying to get better knowledge so I can help somebody in the future.)
agent929 said:
So you just copied the apk off his phone I'm assuming? I'm also assuming it's the same apk as the regular S4? (I'm just trying to get better knowledge so I can help somebody in the future.)
Click to expand...
Click to collapse
As the other person replied - with root access, you can download ES File Explorer, or Root Browser, give the app root access via SuperSU, navigate to the System > apps folder, find the file(s) you want, copy/move them where you need.
FourPointedFreak said:
As the other person replied - with root access, you can download ES File Explorer, or Root Browser, give the app root access via SuperSU, navigate to the System > apps folder, find the file(s) you want, copy/move them where you need.
Click to expand...
Click to collapse
Yeah I'm well aware you can do that but I didn't know that apk would actually function like an apk if you did that. Just thought it was more to it than that.
Sent from miPhone using XDA Premium HD app
agent929 said:
Yeah I'm well aware you can do that but I didn't know that apk would actually function like an apk if you did that. Just thought it was more to it than that.
Sent from miPhone using XDA Premium HD app
Click to expand...
Click to collapse
As long as you have the appropriate odex file along with it and you know how to do it - it should be fine. You have to know how an APK file works, Applications are basically glorified ZIP archives. The java code is stored in a file called classes.dex and this file is parsed by the Dalvik JVM and a cache of the processed classes.dex file is stored in the phone's Dalvik cache.
An odex is basically a pre-processed version of an application's classes.dex that is execution-ready for Dalvik. When an application is odexed, the classes.dex is removed from the APK archive and it does not write anything to the Dalvik cache. An application that is not odexed ends up with 2 copies of the classes.dex file--the packaged one in the APK, and the processed one in the Dalvik cache. It also takes a little longer to launch the first time since Dalvik has to extract and process the classes.dex file.
If you are building a custom ROM, it's a really good idea to odex both your framework JAR files and the stock apps in order to maximize the internal storage space for user-installed apps. If you want to theme, then simply deodex -> apply your theme -> reodex -> release.