[Q] Needed: Idiots guide to updating system apps - Desire Q&A, Help & Troubleshooting

In a lot of the custom roms threads I see that people are always asking the cooks to update the system apps as soon as a new one is released.
Rather than us users constantly hassling the cooks to do this, could somebody post an 'idiots' guide how to update the system apps ourselves?
I have seen a few threads about how to remove apps using adb, but none on how to update them.
Any help would be appreciated, not just by the users, but probably by the overworked cooks too
Cheers.
EDIT: by this I mean a way to update the apk in the system folder rather than the date to save space on the phones memory.

One way is to open the market and click on the 'downloads' link at the top and it will give you a list of installed apps and the ones highlighted in red have updates.
Another way is to search the market or a free app called 'aTrackDog' which will check all your apps for updates.

Thanks, but that is not what I meant. I should have made it clearer in my question.
What I want is this: a way to update the applications so that the updated apk goes into the system folder rather than the data folder. That way the update doesn't take up any more of the precious space on my phone.
I'll edit the OP to show this.
But thanks anyway for your help.

Don't you mean the fact that certain apps included in roms cant be updated. Only possible by flashing an updated version of that rom.
Wrong section.

prodygee said:
Don't you mean the fact that certain apps included in roms cant be updated. Only possible by flashing an updated version of that rom.
Click to expand...
Click to collapse
No, that's not true. Often when a cook produces their own rom they will release an "Update pack" when a system app has been updated (such as Flash or Maps). For an example, see here under 'updated system apps':
http://forum.xda-developers.com/showthread.php?t=773997
What I am asking for is if anybody knows how to use adb to update apps on the system partition. When updating from the market a the update takes place on the data folder, not the system one.
Ta.

scutworker said:
No, that's not true. Often when a cook produces their own rom they will release an "Update pack" when a system app has been updated (such as Flash or Maps). For an example, see here under 'updated system apps':
http://forum.xda-developers.com/showthread.php?t=773997
What I am asking for is if anybody knows how to use adb to update apps on the system partition. When updating from the market a the update takes place on the data folder, not the system one.
Ta.
Click to expand...
Click to collapse
do you mean by example
Code:
adb push Vending.apk /system/app
adb reboot

TomLeeDesire said:
do you mean by example
Code:
adb push Vending.apk /system/app
adb reboot
Click to expand...
Click to collapse
That is something like it. What I want is a guide to what to do to update these apps when an update is out in the market place. Something like being able to update the app from the market, but then move the new apk to the system folder so to save space on data.

Thing is, if you're using a cooked ROM you're likely to be using A2SD+ which makes the need to not have system updates redundant as you've got your EXT partition. The other way would just be to edit the original ZIP file and reflash the ROM without a wipe

EddyOS said:
Thing is, if you're using a cooked ROM you're likely to be using A2SD+ which makes the need to not have system updates redundant as you've got your EXT partition. The other way would just be to edit the original ZIP file and reflash the ROM without a wipe
Click to expand...
Click to collapse
That is not entirely true, even though I sport A2SD+ (and it's 1/3 free) my /data is always begging for room... I'm always at the 15MB-free-limit.

Then you've either got a LOT of apps storing data or something's not right

Small dirty 0.1beta guide
I'll use teppic's update zip as example (hope he doesn't mind), sample of his updateapps.zip can be found in this thread -> http://forum.xda-developers.com/showthread.php?t=773997
1. Install the update from Market, then open Appmonster and backup it on SD. After that, uninstall the update, to free up space.
2. Open the update.zip with WinRar (don't unpack it), you'll see 2 folders
META-INF
system
Open the inside of META-INF till you get to update-script and open it for editing, here's the example:
Code:
show_progress 0.1 0
delete SYSTEM:app/YouTube.apk
delete SYSTEM:app/YouTube.odex
delete SYSTEM:app/Facebook.apk
delete SYSTEM:app/Facebook.odex
delete_recursive DATA:data/com.android.vending
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
show_progress 0.1 10
Replace/add/remove .apk's (you can add .apk without .odex) in this list, as those commands will delete existing apps from /system/app on phone
The rest of the script will copy the content of the other folder you saw before (system with subfolder app), so you want to add/remove apk's you like to there. Remember to use WinRar's function to add the file to archive, everything done here's is inside of the archive. When you're done, save the update-script, check everything again and close WinRar.
3. Flash the zip ;]

or do it manually:
h_ttp://forum.cyanogenmod.com/topic/8067-how-to-manually-update-system-apps/

EddyOS said:
Then you've either got a LOT of apps storing data or something's not right
Click to expand...
Click to collapse
I do think A LOT fits (about 300 apps installed)...

That's exactly what I wanted.
Thanks for the help, everybody.

Does this work on a Rooted (Unrevoked) phone with HTC's Original Froyo?
- I've been following teppic74's thread for some time now, and for every app that get an updated I get closer to flashing his ROM... but if I can just update my apps I wouldn't have to go through the process of reinstalling everything else after...

gosa said:
Does this work on a Rooted (Unrevoked) phone with HTC's Original Froyo?
- I've been following teppic74's thread for some time now, and for every app that get an updated I get closer to flashing his ROM... but if I can just update my apps I wouldn't have to go through the process of reinstalling everything else after...
Click to expand...
Click to collapse
Sure thing.

thed0g said:
Sure thing.
Click to expand...
Click to collapse
Nice!
That means my weekend is saved, I 'm gonna give myself some updates!
- Thanks!

One thing...if using the push and pull commands in adb to move the apk files to the system partition, what happens to the .odex files? Do you move them as well?

scutworker said:
One thing...if using the push and pull commands in adb to move the apk files to the system partition, what happens to the .odex files? Do you move them as well?
Click to expand...
Click to collapse
.odex files are only on some custom rom's, you probably dont have them.

Hello again...
I kind of never got around to doing this last weekend - both because lack of time but also because the more I read the more worries I have. (Don't know when I lost my "gung ho" attitude, but age seems to turn me into a chicken...)
Anyway - I wanted to ask one important question.
How do I keep an eye on the space I have available for updating my apps? What if the updates are so much larger than the apps I'm replacing, what will happen then?
I read in teppic74's thread that he recommended some adjustments to save space, but how do I know what I have to "play" with? Is there a good app to read available space in "system"?
Thanks in advance,
gosa

Related

HELP NEEDED: Trying to make my own custom ROM!

Hi,
So, I'm trying to make my own custom ROM. Nothing too fancy, just a couple of simple and easy modifications to fit my needs but there's somethings I don't know how they work nor I understand them and I need some help. The only thing I was able to achieve as of yet was to remove some apps (I only tried to remove "Learn More" and QuickOffice to be honest-- but it worked). I just removed the .apk and .odex file directly from the .zip file, signed it and flashed it as usual. It worked fine.
Now, a few questions...
1) I also tried to add a few apps, just like in MoDaCo Custom ROM (MCR), to the /data/app folder instead of /system/app. Actually, I just copied all of .apk files from MCR /data/app into my own (with same folder structure of course). But they didn't get installed... I know I'm missing something and I can almost bet it has something to do with the /META-INF/com/google/android/update-script file. I tried countless times to search for some guide, how-to or just a piece of documentation about this file but I can't find anything. I don't want to just change it and see if it works and then screw things up. Can anyone give me some hints about understanding this file? It has to do with the fact that my /data/apps weren't installed, right?
2) I don't use the Gmail app, just the HTC Mail one. Is it safe to delete Gmail.apk and GmailProvider.apk? I believe Gmail.apk will be fine, but the provider one, I guess it's used by the data synchronization thing. Maybe it's ok if I don't sync my mail (that's what I want actually) but maybe there's something else that I'm missing and the system will not work properly, somehow, without the GmailProvider.apk or is it safe to remove it?
3) When we first install a new ROM, starting clean, there's an introductory guide allowing to setup some things initially. One of those is the language. There is a bunch of languages, specially like English (A), English (B), English © where the letters represent other languages. I don't need all that, I only need English (Portugal). Is there anyway I could remove the ones I don't want from the ROM or I would need to dig into the Android source for that?
3.1) How about adding my own language? Is there a way I could do that to my ROM?
NOTE: Funny thing, the Android system is localized on my country's language when I first start the device but as soon as I change it to English, I cannot change it back to Portuguese cause that option doesn't exist. How come the device is in Portuguese when I first start it up after flashing a new ROM? This also happens every time I swap the SIM card, but I can never select Portuguese language by myself. Why?
4) I noticed that after flashing my custom ROM, after booting the device for the first time, the mobile network was active. This is not good... For now I have 1 month free of mobile networking but that won't last forever. I don't want to waste money every time I'm trying a new ROM. Is there anyway to disable this thing from automatically starting up connected when I first boot?
For now that's it...
1. You need to edit "META-INF/com/google/android/update-script"
That's what I said... :/ But I also said:
I tried countless times to search for some guide, how-to or just a piece of documentation about this file but I can't find anything. I don't want to just change it and see if it works and then screw things up. Can anyone give me some hints about understanding this file?
Click to expand...
Click to collapse
If anyone knows anything helpful of course...
Nazgulled said:
That's what I said... :/ But I also said:
If anyone knows anything helpful of course...
Click to expand...
Click to collapse
I am also interested in a guide or walk through for making a ROM for the Hero.
1) I also tried to add a few apps, just like in MoDaCo Custom ROM (MCR), to the /data/app folder instead of /system/app. Actually, I just copied all of .apk files from MCR /data/app into my own (with same folder structure of course). But they didn't get installed... I know I'm missing something and I can almost bet it has something to do with the /META-INF/com/google/android/update-script file. I tried countless times to search for some guide, how-to or just a piece of documentation about this file but I can't find anything. I don't want to just change it and see if it works and then screw things up. Can anyone give me some hints about understanding this file? It has to do with the fact that my /data/apps weren't installed, right?
Click to expand...
Click to collapse
You're missing copy_dir PACKAGE:data DATA:, so you're really not writing /data/app even if it's on the package. If you read through the update-script, you'll see that it starts by formating BOOT: and SYSTEM: and later on writes the contents of /system to SYSTEM: (with copy_dir) and writes the raw boot.img to BOOT: (with write_raw_image).
Add the line to the very end of the permissions settings (but before format and write boot, most likely, before the show_progress line). You also need to set a specific permission after writing anything to /data/app from an update-script, otherwise your market won't be able to install anything (as you'll have changed the permissions for /data/app through the update-script).
In all, your update script will look like this (assuming a regular update-script, not the mcr 2.9 one):
Code:
...
symlink toolbox SYSTEM:bin/xxxxyyyy
...
set_perm 0 0 04755 SYSTEM:bin/su
copy_dir PACKAGE:data DATA:
set_perm 1000 1000 0771 DATA:app
show_progress 0.1 10
show_progress 0.2 0
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 10
2) I don't use the Gmail app, just the HTC Mail one. Is it safe to delete Gmail.apk and GmailProvider.apk? I believe Gmail.apk will be fine, but the provider one, I guess it's used by the data synchronization thing. Maybe it's ok if I don't sync my mail (that's what I want actually) but maybe there's something else that I'm missing and the system will not work properly, somehow, without the GmailProvider.apk or is it safe to remove it?
Click to expand...
Click to collapse
It's safe to remove both, though the provider doesn't do much without the app, so it's also safe to leave it there.
3) When we first install a new ROM, starting clean, there's an introductory guide allowing to setup some things initially. One of those is the language. There is a bunch of languages, specially like English (A), English (B), English © where the letters represent other languages. I don't need all that, I only need English (Portugal). Is there anyway I could remove the ones I don't want from the ROM or I would need to dig into the Android source for that?
Click to expand...
Click to collapse
Hero roms take their settings from xml files in /system/customize. You'll see a bunch of xmls in there. Some are references to other xmls to be used (mns_map and cid_map), some are default settings (default.xml, COMMON.xml) and some are carrier specific settings (/CID/HTC_*.xml and /MNS/Lan_*.xml). The files are very redundant, and it's hard to tell which one is being used when, though, as a rule, you should understand that Hero loads a default from the /customize folder and then looks at mns_map and cid_map for the file to use inside /CID and /MNS. I'm not yet aware how it chooses the file, but, if you narrow down it's choices, then you can control which ones it uses and modify the settings there. If you crack open the xmls, you'll immediately see the languages defined in there (en_US, en_GB, etc), so removing languages is a matter of deleting the lang/region and adding your own (en_PL?). Again, there's so many xmls in there that it's hard to know which one to use, so either make your own and delete the rest, or edit them all. I'll give you the batch that I use in my /customize, reading through them should help you understand what's going on with those xmls.
3.1) How about adding my own language? Is there a way I could do that to my ROM?
NOTE: Funny thing, the Android system is localized on my country's language when I first start the device but as soon as I change it to English, I cannot change it back to Portuguese cause that option doesn't exist. How come the device is in Portuguese when I first start it up after flashing a new ROM? This also happens every time I swap the SIM card, but I can never select Portuguese language by myself. Why?
Click to expand...
Click to collapse
Look above, it's because the language is obtained from the carrier and used during first boot, but it's not defined in an xml, so it's unavailable, make it available by adding it to the list.
4) I noticed that after flashing my custom ROM, after booting the device for the first time, the mobile network was active. This is not good... For now I have 1 month free of mobile networking but that won't last forever. I don't want to waste money every time I'm trying a new ROM. Is there anyway to disable this thing from automatically starting up connected when I first boot?
Click to expand...
Click to collapse
This I'm not sure about. You could try emptying your /system/etc/apns-conf.xml so that it won't be able to register to any data service (just leave the <apns version="x"> </apns> tags, remove everything in between).
Good luck.
jubeh said:
You're missing copy_dir PACKAGE:data DATA:, so you're really not writing /data/app even if it's on the package. If you read through the update-script, you'll see that it starts by formating BOOT: and SYSTEM: and later on writes the contents of /system to SYSTEM: (with copy_dir) and writes the raw boot.img to BOOT: (with write_raw_image).
Add the line to the very end of the permissions settings (but before format and write boot, most likely, before the show_progress line). You also need to set a specific permission after writing anything to /data/app from an update-script, otherwise your market won't be able to install anything (as you'll have changed the permissions for /data/app through the update-script).
Click to expand...
Click to collapse
That's what I thought but I'm still missing one thing...
The generic HTC "update.zip" has format: DATA for the last line of the update script, which I suppose will delete everything becuse the copy_dir command was executed before.
Should I not use the format data option? Won't that leave traces of a previous installation if I want to start clean? What's the recommendations or suggestions?
jubeh said:
It's safe to remove both, though the provider doesn't do much without the app, so it's also safe to leave it there.
Click to expand...
Click to collapse
What will happen to the data-sync when i tries to sync the data and finds the provider for gmail is not there? Will it simply be ignored? Will there be any errors changing any of the options (specially the gmail one) on the data synchronization settings?
jubeh said:
Hero roms take their settings from xml files in /system/customize. You'll see a bunch of xmls in there. Some are references to other xmls to be used (mns_map and cid_map), some are default settings (default.xml, COMMON.xml) and some are carrier specific settings (/CID/HTC_*.xml and /MNS/Lan_*.xml). The files are very redundant, and it's hard to tell which one is being used when, though, as a rule, you should understand that Hero loads a default from the /customize folder and then looks at mns_map and cid_map for the file to use inside /CID and /MNS. I'm not yet aware how it chooses the file, but, if you narrow down it's choices, then you can control which ones it uses and modify the settings there. If you crack open the xmls, you'll immediately see the languages defined in there (en_US, en_GB, etc), so removing languages is a matter of deleting the lang/region and adding your own (en_PL?). Again, there's so many xmls in there that it's hard to know which one to use, so either make your own and delete the rest, or edit them all. I'll give you the batch that I use in my /customize, reading through them should help you understand what's going on with those xmls.
Click to expand...
Click to collapse
I'm familiar with XML files and have no problems editing them but this whole thing was a little confused specially because there are no documentation and like you said, it's hard to tell which one is which.
I know you kinda suggested that but I'm no seeing how to do it (maybe with the file you attached?) but, how could I start clean, only have default XML files and nothing else, no carrier specific stuff, no bulk, just plain default settings that I can tweak to my own liking.
Any hints on how to do that, or it's hard to tell and you don't know how to do it either?
jubeh said:
This I'm not sure about. You could try emptying your /system/etc/apns-conf.xml so that it won't be able to register to any data service (just leave the <apns version="x"> </apns> tags, remove everything in between).
Click to expand...
Click to collapse
Unfortunately, this did not work
The generic HTC "update.zip" has format: DATA for the last line of the update script, which I suppose will delete everything becuse the copy_dir command was executed before.
Should I not use the format data option? Won't that leave traces of a previous installation if I want to start clean? What's the recommendations or suggestions?
Click to expand...
Click to collapse
I've never understood why the default update script does that, but yeah, format DATA: will erase userdata available. It might not be such a bad thing if you hadn't written anything to it before. For a wipe before install, move format DATA: (and, optionally, also add format CACHE: ) right after format SYSTEM: and before you start writing anything to disk. It should give you a clean install without having to wipe from the recovery menu.
What will happen to the data-sync when i tries to sync the data and finds the provider for gmail is not there? Will it simply be ignored? Will there be any errors changing any of the options (specially the gmail one) on the data synchronization settings?
Click to expand...
Click to collapse
I've not tried it yet. Worst case scenario, you'll get the current problem we have with eclair builds (sync will just keep running and eat out battery because it's looking for a service). That's why I'd suggest leaving gmail provider there, it's just a broadcast service, but without an app to receive the data, it'll do nothing. If your concern is data usage due to sync, then you should turn off gmail sync in settings, that way only calendar and contacts are synchronized (although you'll still be using data).
I'm familiar with XML files and have no problems editing them but this whole thing was a little confused specially because there are no documentation and like you said, it's hard to tell which one is which.
I know you kinda suggested that but I'm no seeing how to do it (maybe with the file you attached?) but, how could I start clean, only have default XML files and nothing else, no carrier specific stuff, no bulk, just plain default settings that I can tweak to my own liking.
Any hints on how to do that, or it's hard to tell and you don't know how to do it either?
Click to expand...
Click to collapse
The files I attached are pretty generic. It's meant to replace your /customize folder, not add to it, with the exception being /resources inside /customize, that one I use a lighter version (no footprints) but I didn't include it in the archive for size. I have no carrier stuff there, just settings for language (I think I made it all en_US, replace or add what you need) and layouts for the different scenes, some mail app behaviors (added back the Yahoo! mail and AOL mail options, I think), some footprint, stock, and weather information. Again, it's meant to replace your /customize directory and the smaller amount of files makes it way easier to edit.
Unfortunately, this did not work
Click to expand...
Click to collapse
Blame the xmls in /customize for that. I mentioned earlier I don't exactly know how the system picks which xmls to use, I think it looks at your carrier, which is then assigned a number (for example, let's assume T-Mobile is given number 238, so xmls with 238 on them will be loaded). Problem is inside those xmls are also apn settings (which I've removed from the files I provided so that the system looks instead for apn settings in apns-conf.xml in /etc).
You could flash your system erasing the whole /customize directory (and removing all mentions of it and it's sub-directories from the update-script so that install doesn't fail). Doing that will give you ALL languages available to the rom, but you'll also lose all your pre-loaded settings (like scenes, weather locations, footprints, stocks) and HTC Setup will take an ungodly amount of time to start (about 4-5 minutes after it's done dexopting) while it builds it's own default settings. It's another route you could take, though. Experiment and you'll eventually hit what you want/need.
OK, I guess I'll have to waste some time testing all this stuff, but I suppose I'll leave that to some other day and do more basic things for now.
But just to be sure, if I use your "customization" I'm basically starting from scratch (clean, defaults) and I can use the "old" customization stuff to understand how am I supposed to configured everything and adapt the clean customization folder to my needs. Right?
jubeh said:
You could flash your system erasing the whole /customize directory (and removing all mentions of it and it's sub-directories from the update-script so that install doesn't fail). Doing that will give you ALL languages available to the rom, but you'll also lose all your pre-loaded settings (like scenes, weather locations, footprints, stocks) and HTC Setup will take an ungodly amount of time to start (about 4-5 minutes after it's done dexopting) while it builds it's own default settings. It's another route you could take, though. Experiment and you'll eventually hit what you want/need.
Click to expand...
Click to collapse
This gave me an idea, dunno if it could work...
What if I did that, erase everything inside customize, let the system build its own default settings and then access that directory (through ADB maybe?) and see what the system has created. It should be much more cleaned, without all those carrier XMLs and stuff. Then I could start from there, what do you think?
I have a few more questions about the update-script if you don't mind, but I'm very tired to write them and discuss them now. I'll leave them for another day if you don't mind coming back here and help me out some more.
Thanks for all your help so far
I should probably have mentioned, some of the stuff on those xmls is pretty straightforward (setting language, region, weather, footprints, etc), but a lot of it (setting up default shortcuts, default widgets, system settings) requires working knowledge of android, or at least of how activities are handled and how xmls come into play and how android references the different activities in a package.
On a different note, the xmls are read-only configuration files, actually, anything in system is read-only data (program data, configuration data, resource data), so if you don't have a customize directory the system won't recreate it. What the system does do during normal boot (factory) is to take those carrier-specific settings and apply them to a file(s) in /data where configuration settings are ultimately written/re-written and accessed at will. The xmls are just a database of the settings that will ultimately get picked. When you don't have a /customize directory the system writes the settings straight to -rw enabled /data partition based on things like your current carrier, carrier provided information for locale, etc.
I don't think you can take what's written to /data and use it on a default install package, well, you could, but it's much easier (and a more correct approach) to learn how those xmls in /customize work.
jubeh said:
(...)but it's much easier (and a more correct approach) to learn how those xmls in /customize work.
Click to expand...
Click to collapse
I wouldn't mind doing that if there was some kind of documentation... As it is right now, it's too confusing and there are too many XMLs to begin with...
jubeh said:
I've not tried it yet. Worst case scenario, you'll get the current problem we have with eclair builds (sync will just keep running and eat out battery because it's looking for a service). That's why I'd suggest leaving gmail provider there, it's just a broadcast service, but without an app to receive the data, it'll do nothing. If your concern is data usage due to sync, then you should turn off gmail sync in settings, that way only calendar and contacts are synchronized (although you'll still be using data).
Click to expand...
Click to collapse
But if I leave the gmail provider there and do not turn off gmail sync in settings, my e-mail will still be synced right? There's just no Gmail app to view them but they are still going to be downloaded, correct?
Ok, I finally got a change to test the Gmail/GmailProvider thing and it didn't look like there any problems like trying to sync and draining the battery. Actually, if auto-sync was enabled, there was always a message saying the mail was never synced and no matter how many times you check/uncheck it, it wouldn't sync. If auto-sync was disabled, you could press the gmail button many times but nothing happened, no sync at all (of course).
I think this behavior is fine and I can safely delete the Gmail and provider from the phone without worrying that something will go wrong
Ok, now my other questions that I said I was going to post later...
As we talked about, you suggested to add a format data and cache right after a format to system. Comparing that to the MoDaCo ROM (and other ROMs too) it's common for them to, instead of formatting data, they do this:
Code:
delete DATA:app
delete DATA:init.sh
delete DATA:local
delete DATA:dalvik-cache
copy_dir PACKAGE:data DATA:
set_perm 1000 1000 0771 DATA:app
Why are they doing this? If they are not formatting, it means there's something inside data that they want to keep. Have any idea what and why?
The other question I had about the update-script is that the following two lines are found in the original HTC update but not on MoDaCo's:
Code:
symlink dumpstate SYSTEM:bin/bugreport
symlink dumpstate SYSTEM:bin/dumpcrash
Are they relevant somehow? Should I just ignore and leave them there or remove them just as MCR did, for some reason?
There's a file named build.prop inside the system folder. I've already searched countless times and can't find any proper documentation about this file... It seems it can hold various default properties for the system and it would be nice to know what I can configure there. Maybe I could workaround problem #4 (top of the topic) in this file? Maybe some file in the Android source has comments about the possible properties on this file? Do you have any idea?
One last thing...
I've read about odex and dex files but found it a little confusing... All I know is that original HTC updates come mostly with .apk files and a corresponding .odex file. But most (if not all) custom ROM's, do not have the .odex file but have a classes.dex inside the apk. What's the real difference between the two? And why custom ROMs prefer to have the .dex file instead of the .odex, is it better somehow for some reason? If so, what should I do to "change" the .odex files into classes.dex ones and put them inside the .apk files?
As we talked about, you suggested to add a format data and cache right after a format to system. Comparing that to the MoDaCo ROM (and other ROMs too) it's common for them to, instead of formatting data, they do this:
Code:
delete DATA:app
delete DATA:init.sh
delete DATA:local
delete DATA:dalvik-cache
copy_dir PACKAGE:data DATA:
set_perm 1000 1000 0771 DATA:app
Why are they doing this? If they are not formatting, it means there's something inside data that they want to keep. Have any idea what and why?
Click to expand...
Click to collapse
Yeah, I mentioned on the earlier post that doing "format DATA:" and "format CACHE:" would be the equivalent of running "Wipe data/factory reset" from the recovery menu since you mentioned about making a build that installs fresh. Paul's (MoDaCo) roms are no-wipe, so they preserve that program data and instead format all other directories inside /data that might be problematic during an upgrade; his roms use apps2sd, so he assumes that the user's downloaded apps are in mmcblk0p2 (the memory card's ext partition), so by formatting /data/app, he's only erasing the apps he included in his update package, if the user doesn't use a2sd, well, this erases their downloaded apps (one of the reasons I dislike the current a2sd implementation, it's not suited for all situations). Then he deletes data/init.sh, which is basically a script he includes in /data that runs during a rom's boot and starts things like a2sd, compcache, linux-swap, and other custom rom's "advanced" features. DATA:local is also app storage (I believe) and functions much like in windows' /users/x/application data/local, it can be problematic if not done between builds. Last, he erases /data/dalvik-cache, this is where the temporary application code resides (the extracted classes.dex from inside an apk) for rapid execution (for apks that haven't been pre-odexed). If you wish to make your rom no-wipe, add those lines instead of "format DATA:", but I'd remove "delete DATA:app" since it's a bit problematic for people who don't use a2sd.
The other question I had about the update-script is that the following two lines are found in the original HTC update but not on MoDaCo's:
Code:
symlink dumpstate SYSTEM:bin/bugreport
symlink dumpstate SYSTEM:bin/dumpcrash
Are they relevant somehow? Should I just ignore and leave them there or remove them just as MCR did, for some reason?
Click to expand...
Click to collapse
dumpstate is a debugging tool that android uses, but I don't know exactly where or how (I think it's an HTC-specific log for their HTCLog.apk). It contains two tools, dumpcrash and bugreport, much like toolbox is a binary that contains all the tools you see symlinked to it in update-script (bin, df, cp, mv, ls, insmod, etc.). It's not a problem at all if you remove it, but it's not a problem either to leave it there. Whenever something is symlinked, though (if it's something you added, for example, busybox tools), you have to make sure that the binary or a link to it or a previous symlink to it doesn't exist, otherwise your update-script will fail (like symlinking toolbox's insmod and then busybox's insmod, or busybox's ping if a ping binary already exists in the target symlink directory (for example /system/bin)).
There's a file named build.prop inside the system folder. I've already searched countless times and can't find any proper documentation about this file... It seems it can hold various default properties for the system and it would be nice to know what I can configure there. Maybe I could workaround problem #4 (top of the topic) in this file? Maybe some file in the Android source has comments about the possible properties on this file? Do you have any idea?
Click to expand...
Click to collapse
I guess that could work if you modify network type (there's a property somewhere in there about HSXPA, I think), but like you said, there's no documentation so it calls for some experimenting.
Those properties are also overrides, so, for example, if your rom doesn't do adb root (because ro.secure is set to 1 in init.rc), you can add ro.secure=0 in build.prop to enable adb root again.
Most properties are self explanatory, and pretty much, if you can't tell what it is, you probably shouldn't change it (for example, build.fingerprint allows you to change what kind of apps Market presents to you).
I'd say, don't mess around too much with the first batch (default build properties), with the exception of build.fingerprint.
One last thing...
I've read about odex and dex files but found it a little confusing... All I know is that original HTC updates come mostly with .apk files and a corresponding .odex file. But most (if not all) custom ROM's, do not have the .odex file but have a classes.dex inside the apk. What's the real difference between the two? And why custom ROMs prefer to have the .dex file instead of the .odex, is it better somehow for some reason? If so, what should I do to "change" the .odex files into classes.dex ones and put them inside the .apk files?
Click to expand...
Click to collapse
The classes.dex files is the dalvik bytecode for the application. It contains everything inside /appnamespace/src and /appnamespace/R if you're working from the source. It's basically all the java code already compiled for the dalvik virtual machine.
Dalvik doesn't do jit, so the classes.dex have to be extracted (if they're not already) and run through the virtual machine in a process called dexopt that produces code that can be much more rapidly excecuted by the dvm (dalvik virtual machine). The extracted code is then placed in /data/dalvik-cache (mentioned earlier) as [email protected]@[email protected]. All this pre-cached code eats away at your space in your /data partition (where you store your system data, like your email, messages, browser cache, and downloaded applications) and can be quite a big chunk of space gone (framework classes specially, since all jars inside /system/framework are nothing but java code, about 20MB for all framework code).
The solution to prevent usage of /data storage on an initial build is to have the code pre-extracted. This is done at compile-time running the created system through an emulator and then creating the odex files, which is almost exactly the same as the *@classes.dex found inside /data/dalvik-cache except that it's much better aligned to the device's memory configuration and offers (marginally) better excecution, plus when the package manager first encounters the apk, it's first step is to check if an .odex of it is available, if it is, then it skips checking and dexopting a classes.dex inside it and proceeds to the next package.
Odex files increase the space in your /system partition (it was already read-only, so it's not like you're missing out on something) so those 20 MB of framework that would have been tossed into your userdata partition are now out of the way into the useless (in an available-storage sense) /system partition so you have more free space for your apps.
There's a tool that can create odex files for apks that don't have them, it's called dexopt-wrapper and it has to be run from a running phone. However, this tool won't strip the (now unnecessary) classes.dex from inside an apk, so it has to be done manually. Removing the classes.dex once you've created an odex is a good idea merely on the basis of space savings. However, once a classes.dex has been odexed, it's very hard (used to be impossible) to turn it back to a classes.dex and place it inside an apk.
Usually, us rom cooks preffer the classes.dex inside the apk because odexes create conflicts when you try to mix and match apps between builds. Since the odex files are tied to the framework where they were created, adding an apk with it's odex to another framework (even one that's only ever-so-slightly different) will be very problematic (the odex code is no longer protected or verified, so the rom won't even boot because it will fail verification for all available packages).
The tool for reverting odex files is called deodexerant by jesus freke. It requires working knowledge of how the system goes through the dexopting process so you can run it in the proper order.
Another thing to know is that even if your /system is pre-odexed, your downloaded apps will still be run through the package manager and have their classes.dex dexopted and placed in /data/dalvik-cache.
Oh, and never, ever put odexes anywhere but /system/framework or /system/app (or /data/app_s if you use a2sd). The package manager currently can't handle odexes in /data/app or /data/app_private (the other two locations where it looks for packages other than /system/app).
In the end, whether to use/have odexes comes down to personal choice (and available space). There's two hero builds, those based in 2.73.405.61 and 2.73.405.66, that have not been pre-odexed, so they're perfect for experimenting, mix/matching, etc...
jubeh said:
Yeah, I mentioned on the earlier post that doing "format DATA:" and "format CACHE:" would be the equivalent of running "Wipe data/factory reset" from the recovery menu since you mentioned about making a build that installs fresh. Paul's (MoDaCo) roms are no-wipe, so they preserve that program data and instead format all other directories inside /data that might be problematic during an upgrade; his roms use apps2sd, so he assumes that the user's downloaded apps are in mmcblk0p2 (the memory card's ext partition), so by formatting /data/app, he's only erasing the apps he included in his update package, if the user doesn't use a2sd, well, this erases their downloaded apps (one of the reasons I dislike the current a2sd implementation, it's not suited for all situations). Then he deletes data/init.sh, which is basically a script he includes in /data that runs during a rom's boot and starts things like a2sd, compcache, linux-swap, and other custom rom's "advanced" features. DATA:local is also app storage (I believe) and functions much like in windows' /users/x/application data/local, it can be problematic if not done between builds. Last, he erases /data/dalvik-cache, this is where the temporary application code resides (the extracted classes.dex from inside an apk) for rapid execution (for apks that haven't been pre-odexed). If you wish to make your rom no-wipe, add those lines instead of "format DATA:", but I'd remove "delete DATA:app" since it's a bit problematic for people who don't use a2sd.
Click to expand...
Click to collapse
So, to make it clear, I could:
Option A) Add format DATA and format CACHE to my ROM and this would make my ROM to automatically wipe everything and start clean.
Option B) I could not add anything (no formats and no deletes) and warn the users to explicitly perform a wipe before flashing.
Option C) Add delete DATA:local and DATA:dalvik-cache and have a no-wipe ROM where the apps would be preserved from the last ROM, right?
Ok, I don't use a2sd and for now have no intention in doing so. My best guess is to start with option A for now and maybe opt by using some app to backup everything and restore everything back after flashing a wipe ROM. Or I could go with option C and everything could work fine but there's a chance I could run into some issues in the long run.
jubeh said:
The classes.dex files is the dalvik bytecode for the application. It contains everything inside /appnamespace/src and /appnamespace/R if you're working from the source. It's basically all the java code already compiled for the dalvik virtual machine.
Dalvik doesn't do jit, so the classes.dex have to be extracted (if they're not already) and run through the virtual machine in a process called dexopt that produces code that can be much more rapidly excecuted by the dvm (dalvik virtual machine). The extracted code is then placed in /data/dalvik-cache (mentioned earlier) as [email protected]@[email protected]. All this pre-cached code eats away at your space in your /data partition (where you store your system data, like your email, messages, browser cache, and downloaded applications) and can be quite a big chunk of space gone (framework classes specially, since all jars inside /system/framework are nothing but java code, about 20MB for all framework code).
The solution to prevent usage of /data storage on an initial build is to have the code pre-extracted. This is done at compile-time running the created system through an emulator and then creating the odex files, which is almost exactly the same as the *@classes.dex found inside /data/dalvik-cache except that it's much better aligned to the device's memory configuration and offers (marginally) better excecution, plus when the package manager first encounters the apk, it's first step is to check if an .odex of it is available, if it is, then it skips checking and dexopting a classes.dex inside it and proceeds to the next package.
Odex files increase the space in your /system partition (it was already read-only, so it's not like you're missing out on something) so those 20 MB of framework that would have been tossed into your userdata partition are now out of the way into the useless (in an available-storage sense) /system partition so you have more free space for your apps.
There's a tool that can create odex files for apks that don't have them, it's called dexopt-wrapper and it has to be run from a running phone. However, this tool won't strip the (now unnecessary) classes.dex from inside an apk, so it has to be done manually. Removing the classes.dex once you've created an odex is a good idea merely on the basis of space savings. However, once a classes.dex has been odexed, it's very hard (used to be impossible) to turn it back to a classes.dex and place it inside an apk.
Usually, us rom cooks preffer the classes.dex inside the apk because odexes create conflicts when you try to mix and match apps between builds. Since the odex files are tied to the framework where they were created, adding an apk with it's odex to another framework (even one that's only ever-so-slightly different) will be very problematic (the odex code is no longer protected or verified, so the rom won't even boot because it will fail verification for all available packages).
The tool for reverting odex files is called deodexerant by jesus freke. It requires working knowledge of how the system goes through the dexopting process so you can run it in the proper order.
Another thing to know is that even if your /system is pre-odexed, your downloaded apps will still be run through the package manager and have their classes.dex dexopted and placed in /data/dalvik-cache.
Oh, and never, ever put odexes anywhere but /system/framework or /system/app (or /data/app_s if you use a2sd). The package manager currently can't handle odexes in /data/app or /data/app_private (the other two locations where it looks for packages other than /system/app).
In the end, whether to use/have odexes comes down to personal choice (and available space). There's two hero builds, those based in 2.73.405.61 and 2.73.405.66, that have not been pre-odexed, so they're perfect for experimenting, mix/matching, etc...
Click to expand...
Click to collapse
Well, I'm currently basing my ROM on 2.73.405.38 as the .66 one has "test" on the name and it feels like a beta version, which I'd rather not use. The .38 version uses .odex files for most of the packages (only a few has classes.dex inside) and I guess I'll leave them like that. If future ROMs, like that .66 one, comes with classes.dex vs .odex files, well, then I'll just leave it like that...
That looks like a very important thing in Android apps and at the same time something that I should be very knowledgeable about before messing with it, so I'll just stay put
Thanks once again for taking your time with such complete answers
So, to make it clear, I could:
Option A) Add format DATA and format CACHE to my ROM and this would make my ROM to automatically wipe everything and start clean.
Option B) I could not add anything (no formats and no deletes) and warn the users to explicitly perform a wipe before flashing.
Option C) Add delete DATA:local and DATA:dalvik-cache and have a no-wipe ROM where the apps would be preserved from the last ROM, right?
Ok, I don't use a2sd and for now have no intention in doing so. My best guess is to start with option A for now and maybe opt by using some app to backup everything and restore everything back after flashing a wipe ROM. Or I could go with option C and everything could work fine but there's a chance I could run into some issues in the long run.
Click to expand...
Click to collapse
Sounds like you got it.
Well, I'm currently basing my ROM on 2.73.405.38 as the .66 one has "test" on the name and it feels like a beta version, which I'd rather not use. The .38 version uses .odex files for most of the packages (only a few has classes.dex inside) and I guess I'll leave them like that. If future ROMs, like that .66 one, comes with classes.dex vs .odex files, well, then I'll just leave it like that...
That looks like a very important thing in Android apps and at the same time something that I should be very knowledgeable about before messing with it, so I'll just stay put
Click to expand...
Click to collapse
Test only refers to the build being signed with test-keys instead of release-keys. In my testing, it makes no difference whatsoever for a rooted user, and there's many theories floating around about signatures, I haven't researched signatures a whole lot because test-keys have worked fine enough for me, so I'm not so sure, but they seem to be working fine for all.
The reason those releases are un-odexed (and signed with test-keys) is because of the problem with odexes I mentioned earlier. When HTC is testing their rom packages and they need to make, say, a framework change, all the apps with odexes would fail as the framework has changed, so, for testing purposes, it's best to leave the apks and jars in the build full (with classes.dex inside). Once you know your build is solid and you won't be changing much, it's safer to odex the whole thing (sort of like me, I'm waiting for the final release of eclair for ADP1 so I can put out a Dream rom odexed and fully working).
Thanks once again for taking your time with such complete answers
Click to expand...
Click to collapse
No problem, I get bored at work
So, version .66 is not beta or anything? I know MoDaCo has his latest ROM based on that and you're saying they are only different in the signing key, still, it's somewhat a "leaked" build, not quite "official".
But hey, if others are using it without any issues, maybe I should be using it too
On second thought...
1) I can't find a pre-rooted .66 version and I don't know how to root it :/
2) There's lots of files in system/xbin that I don't see referenced anywhere (not even in the update-script) and I don't know what should I do with them.
I'm finding it much more confusing to base my ROM on .66 than on .38...
It is a beta, of sorts, but between it and the final shipping product there's not much difference. It's just much, much easier to work with it.
1.) The simplest form of root is to change ro.sercure to 0 in default.prop in the boot ramdisk. Adding a su binary/Superuser.apk is optional, those you can pull from one of paul's builds.
2.) The system/xbin is added to the boot classpath in the boot ramdisk in init.rc. The only mention of it in in update-script is the permissions for the whole folder and then just a couple permissions for some tools, not all of them.

[HOWTO] Install Latest WaveSecure in ROM

I found that [email protected]'s ROM had a good idea of adding WaveSecure to the system partition (preventing listing in the My Downloads part of market, and preventing uninstallation through normal means), but his version is slightly out of date now (latest version is 3.0.0.43)
As a result, I set about finding a means to install WaveSecure to ROM myself. Here are my findings for anyone interested in doing the same.
Install the latest version from the market (3.0.0.43 at this time). Now use adb pull to get it off the device onto your pc
Code:
adb pull /data/app/com.wsandroid.apk D:\com.wsandroid.apk
Now open Market back up from the menu, go to My Downloads, and choose Wavesecure Mobile Security Beta and uninstall it for just now (to get it off the data/A2SD location that normal apps are stored in) - thanks, my-space!
Then push the saved apk to the system partition after a remount (to make it read/write)
Code:
adb remount
Code:
adb push D:\com.wsandroid.apk /system/app/com.wsandroid.apk
Then set it all up as usual (will appear in apps list immediately)
and remount system as read only again
Code:
adb remount
And that seems to be it so far. Remember to change the D:\com.wsandroid.apk path to whatever you actually used.
Let me know if anyone finds any problems with this, but I've done it and, fingers crossed, it's worked OK for me.
Obviously, this is only for root users, and there are no guarantees for this.
Couple of questions that might need looked into -
- Do settings carry across after a wipe (as Paul claims Modaco's version does. I've never tried it so can't confirm)
- Is there any disadvantage to using this method? (I guess this is all Modaco's update.zip does, but I don't know)
you forgot to metion to uninstall wavesecure before it is pushed back into system....
my_space said:
you forgot to metion to uninstall wavesecure before it is pushed back into system....
Click to expand...
Click to collapse
Oops! Knew I'd forget something, as I always seem prone to do. Well spotted, and OP corrected.
Thanks
No worries I got a bit confused when i pushed it back onto the phone and was still in my downloads...
I've rooted my phone already but whenever i try to use the command adb remount I get "remount failed: operation not permitted". Suggestions?
I see more and more often, redundant threads.
What How-to will you post next time? How to change backlight settings?
You're pointlessly spamming the board.
I can't say i agree with the 'pointlessly spamming the board' comment, but i would have thought this would at least be better in the applications and themes subforum rather than in development.
Don't forget that an awful lot of android users (and more recently all HTC devices) are more and more 'newbs' and need stuff like this.
While this is good and provides info that people like that need (and myself cos i'm crap at adb and stuff like that so wouldn't have had a clue how to do this previously), maybe the development forum is not the best place for it....
I'm guessing one won't be notified via Market if there's an update available if you push an app to /system/app/, right?
usb0 said:
I'm guessing one won't be notified via Market if there's an update available if you push an app to /system/app/, right?
Click to expand...
Click to collapse
You won't be notified, correct
If anybody doesn't already know, WaveSecure have started hosting update.zip files. This means it's now easy to update your "baked-in" version of WaveSecure without much messing around.
https://www.wavesecure.com/installations/update.zip
Download the file, save it to your SD card, reboot into the recovery console and choose the option to apply an update.zip file.
Voila! Your version of WaveSecure will be updated to the very latest version
DJBenson said:
[...]
Click to expand...
Click to collapse
That's really awesome! Thanks for the tip!
Just a question of curiosity: If I push an app to /system/app/ and then issue the rm-command to remove its apk, won't there be lying a bunch of files associated with the program and with absolutely no function, since the app itself is removed? How do I know the name of these files and where they are located for removal?
I'm a bit confused by that question. My understanding (which may be incorrect but from what I've seen of the "guts of a ROM" appears to be the case) is that the applications reside in the apk files, they are not extracted. If you list the content of any of the app folders (/system/app, /data/app or /data/app-private) then all you get is a bunch of apk files (and some odex files). So when you 'push' an apk to the phone, that application is then "installed", when you rm/remove an application, you do so by removing the apk.
if you remove the apk you have left something in /data/dalvik-cache. wiping the dalvik-cache every now and then helps reclaiming that space, though it is not much.
the app settings and data are stored in /data/data, you could delete the files manually by checking their names (no idea if/what convention the names follow), imho not worth the trouble as it is only a few kb.
odex files aren't created if you don't do in a PITA process manually. don't worry about them, don't touch them, then you're good. odex files are only for system apps.
I bought a used phone and it had WaveSecure already installed. I couldn't find it in the applications list to uninstall, so I did a factory reset on the phone. The application was still there and it still didn't show up in the applications list.
I have the Superuser Permissions application, so someone must have rooted it.
Is there any way to uninstall this?
motomeup said:
I bought a used phone and it had WaveSecure already installed. I couldn't find it in the applications list to uninstall, so I did a factory reset on the phone. The application was still there and it still didn't show up in the applications list.
I have the Superuser Permissions application, so someone must have rooted it.
Is there any way to uninstall this?
Click to expand...
Click to collapse
""Just (re)flash a ROM................""
I just noticed that WaveSecure now points to this post for instructions to install as system application, and I am not sure that the update.zip maintained with them is up-to-date.
However, you can now select to download the .apk directly to your PC thus eliminating the first Market step in this guide.
strife242 said:
I just noticed that WaveSecure now points to this post for instructions to install as system application, and I am not sure that the update.zip maintained with them is up-to-date.
However, you can now select to download the .apk directly to your PC thus eliminating the first Market step in this guide.
Click to expand...
Click to collapse
I believe it is kept up to date, as VillainROM kitchen uses it as a source for the WaveSecure app (fetched each night to keep it up-to-date).
I've certainly never had any problems with it.
Excellent guide Pulser,... I should really reinstall Wavesecure now Im not using a MoDacO Custom ROM. Nice one bruv.
Found this to be helpful.
https://www.wavesecure.com/blog/how-to-make-wavesecure-hard-reset-proof.aspx
I just did a search in the Market fro 'wavesecure' and two things popped up WaveSecure and WaveSecure UninstallProtection Add-on which needs to be uninstalled before WaveSecure and if the add-on is uninstalled it is supposed to lock the phone. (all this is in the description I have yet to try)

why do devs put updated apps in /system?

i mean is there a benefit to doing it over the data part? only diff i'm aware of is that (in this case, street view) putting an app in the system bit means i can't update it and as i can't get adb working on my PC, then i have to :
backup all my apps, barr those in system, flash a new rom (but remove the apks from the zip file), then reinstall all apps again
i need google street view and since adb doesnt work, this is the only way that i know of how to do this.
They're put on /system/app as that's where they originally live...if it's an app from the Market it will update itself correctly
It's also a space thing as if they were all on /data/app then you'd eat up your space in no time (unless using A2SD)
umm, ok stupid queston, why is it then no matter whose rom i try (here or modaco), if an app is on /system it is never updated? i *always* get an error during installation
few weeks back, it was google maps, now it's the updated street view.
i've flashed a new rom now but removed street.apk from the zip and can now install just fine, and can update as needs be.
I dunno, I'm stock and just today had Flash and Maps update automatically
If your system apps won't update there's something wrong with your custom ROM.
it wouldn't just be me then though?
i'm using leedroids latest and that's not updating, same with opendesire earlier on, modaco ones etc etc
Are you wiping before you install the ROMs? I've never had a problem updating system apps via the market in my ROM.
of course. full wipe
tommo123 said:
of course. full wipe
Click to expand...
Click to collapse
just uninstall the app and re-install it from market
You can't if its on the system partition. Updates go on the /data/ partition, though...
Other way is to get the APK in question and install it using a file manager, it'll do the same thing
uninstalling also isn't allowed, neither is updating. it seems that once it's there, it's there.
now, i've got adb working and can list what's in system etc but it gave a read only error when i was trying to 'rm Street.apk'
remount didn't appear to be a valid option. alls working now anyways. just need to remember to remove certain apks from a zip before flashing.
funky
You *can* update system apps with market updates, as has been said before. The app remains on the system partition and the phone uses the data version instead. If it's not working for you I don't know why, but it's absolutely fine for me.
So what we need is a mod that will give you the option of replacing the system/app with updated market version, but replaces it on system and not data.
j5m said:
So what we need is a mod that will give you the option of replacing the system/app with updated market version, but replaces it on system and not data.
Click to expand...
Click to collapse
Well that's exactly what I do in mine. And I get those by updating the system app via the market.
teppic74 said:
Well that's exactly what I do in mine. And I get those by updating the system app via the market.
Click to expand...
Click to collapse
Thats great for you, and i appreciate that you do that with your rom +mods, but it means relying on you. Would be good if android would have it as an inbuilt function.
But i guess with newer phones having increased internal storage + a2sd this won't be an issue for much longer.
It's never going to happen as part of standard Android, because the system partition is read only. Also the system has to be a set standard in order to allow upgrades to work.

Wow.

Hi all,
I have been a winmob user for over 5 years and i know pretty much everything about them. (see join date) Though 3 days ago i got a a8183 desire.
My god i have a lot to learn about Android. Winmob seemed so much simplier to pick apart with registry and custom roms.
Anyways i have been reading thread after thread for days yet i still have a couple of questions that i cannot get clear answers for.
I have a a8183 telstra desire running on optus. I have updated to the latest offical 2.2 ROM. (Everyone mentions OTA (over the air) though i downloaded it and installed thru windows).
So i would appreciate if someone could help me out with my questions/assumptions.
1. From what i have read you cannot r00t a froyo OS. Is that right? Though i have found an app z4root that will do it temporarily until reboot. Unrevoked doesnt seem to work.
2. To change system files you need not only root though you need the clockworkmod recovery part of the bootloader. (eg. to replace HOST file for adblocking).
3. You need permanent r00t to install the clockworkmod (so i cannot do this).
4. You cannot remove default ROM apps from your phone without the clockworkmod.
5. You need clockworkmod to install custom ROMs.
So from what i gather.. r00t is good. though really only cause it gets you the clockworkmod recovery which is where you can really hack it.
And to get this i need to downgrade to 2.1, r00t, clockwork then use a hacked rom for 2.2?
Your help is greatly appreciated.
hi sage, i too came from windows mobile so i know how you feel, lucky for me i jumped on the android bandwagon earlier with the htc hero, after i got bored with my HD1, anyway your wrong on quite a few points, so i'll point you in the right direction.
1) the latest version of unrevoked (www.unrevoked.com/recovery) is more than able to root the froyo roms, its a one click app and can root your device in minutes
2) to easly modify system files you need s-off (this is equivalent to HSPL on wm devices) after you have rooted, you need to search for alpharev, this is a linux live cd, you just burn it and boot it and it will security unlock your device.
3) when you download and run unrevoked, it will not only root your device but insatall the latest version of clockworkmod recovery. (just hold vol down and power when your device is off to access hboot, and choose recovery from the list) so unrevoked kills 2 birds with one stone
4) to remove the apps in the /system/ partition there are 2 ways, from recovery using adb, or if you flash the s-off mod, you can remove them directly from your device using a file manager.
5) yes you need clockworkmod or another custom recovery to install custom roms, but now you know how to do it, thats not a problem
Hi Sage,
If you're looking for an easier way to get rid of all the Telstra apps (more like a blob of links really ) on your phone you may want to try one of the stock HTC WWE ROMs. It's clean and you can flash it via exe, just like in WM. The latest RUU I believe is the 2.29.405.2. Also, be aware of the risks of rooting your phone.
thanks for your response guys
Ok so i am now r00ted and running Leedroid's WWE ROM! (thank you!) it was actually pretty easy.
I think unrevoked was failing cause i was using a USB HUB.
OK so now i just want to remove some more of the default apps that come with it.
So i will try alpharev to security unlock my device. (is this permanent or if i reflash my rom it will come back?)
once i have done this i can then delete anything i like thru r00t explorer?
At this stage i am trying to just make some more room for apps. As a number of them wont move to SD Card.
A couple of last questions if i may. I have an new SD Card on order. Am i able to simply copy everything from my existing SD to my new and then swap it over in my phone and it will all be ok? Or do i need 'clone' it with some tool?
Where in the system paths do i remove 'shortcuts' within all apps? (or even simply rename them.)
Much appreciate your help. Android is growing on me. I especially love adb logcat!
ok.. i am now security off'd alpharev worked a treat.
i am now using r00t explorer to try and delete items from /system/app though they come up read-only so i cannot delete them
i take when i get to remove these the phone will have more stoage space for apps yeah?
i also still cannot find where the all apps shortcuts sit! (so i can rename/remove).
and lastly now i have the alpharev bootloader so gonna google how to change that
i did use the Leedroid apps2sd ROM. though most of my apps are still going to phone memory and i cant move them across.
Is there a fix for this? i guess once i work out how to delete these read-only files ill be ok anyway.
Unfortunately removing system apps wont give you more space to install apps, they are stored under a different partition, /system and /data are not on the same disk so you can save as much space on /system as you want but it won't affect /data at all.
With running out of space you have a few choices:
Go to settings..applications..then manage and move as many apps to SD as you can. This is fro-yo apps2sd, not all data is moved and not all apps can be moved, so you will probably run out of space again anyway.
Or
Reboot into recovery and partition your sdcard to create an ext partition, when you boot your rom ALL apps will be moved to the ext partition leaving lots of free space. Backup your sdcard before you partition it, you will lose all data.
Sage said:
ok.. i am now security off'd alpharev worked a treat.
1) i am now using r00t explorer to try and delete items from /system/app though they come up read-only so i cannot delete them
2) i take when i get to remove these the phone will have more stoage space for apps yeah?
3) i also still cannot find where the all apps shortcuts sit! (so i can rename/remove).
Click to expand...
Click to collapse
1) Press on Remount as R/O, this should allow you to delete/replace system stuff & ringtones, fonts...etc.
2)No, because apps install to data/apps & not system/apps.
3)You mean like the applicatiuon menu when we used to delete shortcuts or rename them? Hahaha man that was sooooooooooooo long time ago for me. Anyway, the applications installed are displayer & you can't hide them or rearrange them like Winmo. You might want to try Launcher Pro to hide apps in the apps drawer.
If you need more info, ask freely because 2 years ago I went through the same
mr.r9 said:
1) Press on Remount as R/O, this should allow you to delete/replace system stuff & ringtones, fonts...etc. Typo..You meant R/W
2)No, because apps install to data/apps & not system/apps.
3)You mean like the applicatiuon menu when we used to delete shortcuts or rename them? Hahaha man that was sooooooooooooo long time ago for me. Anyway, the applications installed are displayer & you can't hide them or rearrange them like Winmo. You might want to try Launcher Pro to hide apps in the apps drawer.
If you need more info, ask freely because 2 years ago I went through the same
Click to expand...
Click to collapse
Hmm..actually the new MTD partition table hack should be able to free space on the /system, adjusting partitions with less for /system and /cache and more for /data/app should give enough space..Though I'm not sure if he wants to try this right now, since it's considered an advanced task and maybe he'd like to get more accustomed to Android before attempting it? His wish though..
And well, there's yet another method to remove system apps, other than the other two methods. This is to modify the zip file of the custom rom to remove the actual apks from /system and reflashing it on top of the actual flash..
droidzone said:
And well, there's yet another method to remove system apps, other than the other two methods. This is to modify the zip file of the custom rom to remove the actual apks from /system and reflashing it on top of the actual flash..
Click to expand...
Click to collapse
Ohh yes indeed. OP, you can edit the zip before installing it to your device. You can remove/replace application in system/data and fonts...etc. Just remember to change signature verification to off in your recovery.
my god. i have spent days on this baby and im only barely scratching the surface
much appreciate all your help guys!
ok.. so its time to use app2sd i hear that app2sd+ is better though? (it moves more data to SD yeah? appcache?)
i only have 2Gb microsd right now so i might wait until i my 8GB arrives before i flash a new ROM and start again (again!)
i also noticed these online kitchens. http://cookmyrom.co.cc
which look great! tho they are still a version behind the leedroid i am using tho its a good way to get rid of some default apps.
i certainly like the idea of reparitioning the default disk though not quite ready for that yet especially when app2sd+ sounds much more straight forward.
i am dumbfounded that you cant remove 'shortcuts' from the All Apps! or even rename them!! my god. i would think that was first thing available on such an open source OS.
So i have now created a folder called "Folder" to reduce the clutter.. and now i guess i cant even rename it!?? and if i create another one its called "Folder" too!
lol.. this OS is so advanced yet some basic stuff seems to be overlooked.
I did try launcher pro though it removed my HTC Sense (which i like). So i might need to keep looking for an app to help organise my All Apps and my desktop (is desktop what its called?)
And just how do i add ringtones?
love your work guys thanks again.
Create a folder called Ringtones on the root of your SD to have...ringtones.
When you open a folder, long press on the header to rename it.
As for organizing, I stopped caring & started to use search, but maybe if you want you can try an app called folder organizer.
mr.r9 said:
Create a folder called Ringtones on the root of your SD to have...ringtones.
When you open a folder, long press on the header to rename it.
As for organizing, I stopped caring & started to use search, but maybe if you want you can try an app called folder organizer.
Click to expand...
Click to collapse
nice one thank you!
Sage said:
...So i have now created a folder called "Folder" to reduce the clutter.. and now i guess i cant even rename it!??...
Click to expand...
Click to collapse
Open the folder then hold where it says folder to change its name.
Ok. Now have app2sd working!
thanks to all of you. Beginning to love this android phone now. I feel sorry for all the people who use them as they come from the factory! Thank god for all the xda people who rip them to shreds and make them better
If i can have one last question. Any way to remap hardware buttons to start an app?
Like when you hold down the search button it launches Google Voice. I want it to launch a different app..
I did a search and found the hardware button remapper though it only does hardware to hardware.. not hardware to app
For Folders(Assuming you're using full HTC Sense), just open it and hold the title bar. Took me some time to figure out. You cannot easily rename the apps in "All apps", but you can remove them(Which is essentially uninstalling them) from Settings > Applications > Manage, unless they are system apps which need to be manually deleted either via S-OFF + Root explorer(OR something similar) or ADB + Custom recovery(Clockworkmod or Amon Ra).
For setting a custom ringtone, open the music app, select the music > Menu > Set as ringtone.
so no love on the hardware remap for apps?
Oh well i have done a lot of googling and it seems it cant be done (well at least not easily).
My last question is when you launch an app from a folder the folder stays open.. any way to force close or change its behaviour?
for those following this. I found the Tasker app remaps hardware buttons amongst doing amazing other things.
Still no love on closing folders though.
i ended up using tasker to create app widgets to replace the folders...
If you want app widgets, there's also "Desktop Visualizer".
In terms of killing of an app, have you tried "Settings -> apps settings -> development" then there's an option there for "stop apps via long press"?

Deodexed & Zipaligned /system for VZW Tab

So, yeah. This is deodexed & zipaligned System. It will overwrite your /system partition so any changes you have made (theme, hosts file, etc...) will be lost. In addition to the deodexed /app and /framework folders this will add a transparent notification bar and ad blocking host file. Why? Cause, I made this for myself, so it's the way I like it. Flash this if you want, I'm not forcing you to. Nor will I be held responsible if it eats your first born or tries (succeeds) to commit suicide. You've been warned. If you just want the deodexed files, I'll leave the manual method below and you can do it the hard way. Maybe I'll get the update-script working at some point, but I don't know. If you're good with the new sytax for CWM's update script, hit me up in IRC, I'm stumped.
Note: As I said, this formats your /system partition. Not your /data partition, so all your apps and such will still be there.
So, Once More
What you get:
Deodexed & zipaligned (ready to theme) system
Transparent Notification Bar
Ad blocking host file
No warranty
No mobileprint apk. I couldn't get it deodexed no matter what I tried and can't be bothered to try anymore. Never used it. Never will.
Nandroid Recovery Method
YOU MUST HAVE CWM RECOVERY INSTALLED
use either the bootstrapper from the market or follow his instructions found HERE be careful and use this at your own risk, it is very beta. I recommend doing a backup from it before you flash this as well.
How To Flash
extract the folder to /sdcard/clockworkmod/backup
Boot in to CWM Recovery go to advanced restore, select restore /system only. Once that is complete clear the cache, reboot. you can then delete your dalvik cache (note: clearing the dalvik cache doesn't work via CWM currently). That's it.
If you have anything go wildly crazy, lemmie know. Also, I doubt it's success on any other carriers version of Tab, but if you feel like it, go ahead, I already gave you responsibility for your own actions. Do what you want with it. If it works though, let us know.
Oh yeah- Download if you feel like it.
ODIN Restore Method
Flash via Odin PDA PDA PDA PDA PDA PDA PDA
If you need any more instructions on how to flash via odin, search.
Download the tar HERE
OLD PITA BORING MANUAL METHOD
FIRST
So, Back up your system first. Wait, yeah, you can't in recovery yet, so seriously people- don't touch this yet unless you know what you're doing since you won't have a supersimplehappynice backup to revert to if you mess up. Only the cold, cold darkness that is Factory Reset.
I haven't been able to manually deodex these successfully yet. If anyone has, please, hook me up and I'll update the package (or I'll update it when I get around to deodexing them).
What are these for???
These files will allow you to theme your Tab, some say it speeds up your system and others say it allows you to get all the ladies and even others think it's a threat to democracy so PROCEED WITH CAUTION.
What do I do with these???
Okay, this isn't hard, but it's easy to get a negative result if you skip a step so keep reading, follow the directions and don't blame me if you are singled out for the 3D imaging system at the airport.
Basically you want to use ADB push or Root explorer to delete the apks/jars/odex/*.* in /system/app and /system/framework and then replace them with the files from the archive (the archive has an app and a framework folder for you, I think you know where each belongs).
Now if you use root explorer to delete everything from /framework, things will get sticky for a minute and you'll get some FC's and such, but I was able to copy all the files over, so just be patient.
Also, remember how I told you to read the directions? KEEP READING OR YOU'LL MISS IMPORTANT STUFFS. So, hi there. You shake the boredom out of between your ears and giving me your full attention again? Good. Now is important. You are really going to want to clear both your normal, and dalvik chache. Otherwise you're going to reboot and your phone is going to be slower than an Audi R8. You can do this with cache cleaner, recovery (if you're running noobln's script) or adb. I used recovery for standard cache and this adb command.
Code:
adb remount
adb shell rm -rf /system/sd/dalvik-cache
Then just reboot and start porting some themes over for me (revolution plzkthx).
A couple of notes:
All these are from a VZW Tab. Will they work on your T-mobile one? Well, find out, if you want, or not. I don't care. Just don't come crying to me if you screw up your phone. I did not put a gun to your head and force you to use these files.
Also, if you screw up your Tab, for the love of the gawds, it's not bricked, calm down.
I suppose you want the download link, huh.
Here you go for the manual files.
Finally, if you like my work, donate to me so I can donate money to devs that make my world easier (and therefore yours).
cheers for the upload
any chance of a deodexed email.apk as it's not in there?
Any screenshots of what the themed versions can potentially look like? Need to weigh up the pro's / con's of being "experimental"
Thanks
Johnston411 said:
cheers for the upload
any chance of a deodexed email.apk as it's not in there?
Click to expand...
Click to collapse
Darn it, I'm sorry, I meant email.apk and not browser.apk. I haven't been able to deodex that apk yet. Sorry I should have it done soon but in the mean time you can use gmail or go back to an odexed FS. Original post updated.
risq said:
Any screenshots of what the themed versions can potentially look like? Need to weigh up the pro's / con's of being "experimental"
Thanks
Click to expand...
Click to collapse
They look exactly the same as on your Tab, just without being odexed. This is not a theme, nor does it change the appearance of any of these applications. It changes the way they function within the OS and allows for the ability to theme.
I mean absolutely zero offense by this, but if you're weighing out the pros/cons of doing this, you probably shouldn't. Just wait a while longer for recovery to be functional, then people will start putting out easily flashable ROMs and themes.
Sorry i misunderstood.
I thought they had been edited / themed already from the initial description..
Its been a long day. Im a risk taker anyways but ill pass for time being.
Keep up the good work.
Sent from my GT-P1000 using XDA App
Johnston411 said:
cheers for the upload
any chance of a deodexed email.apk as it's not in there?
Click to expand...
Click to collapse
Actually, I just got email deodexed.
HERE YOU GO
I'll have the other remaining apks out soon.
very kind.
I want to try it on my dell streak but the odexed email.apk kept force closing.
Let me know if it works.
f.c. as soon as you launch it.
i'll see if it needs any framework stuff added to work tomorrow.
Hi Boushh,
After removing files in both folders it FCs many and froze. It won't reboot now. Let me know what I did wrong. No compliants like you mentioned. Any rescue?
Thanks
Like I said, you'll get that, I was able to copy them over with root explorer between the FC's. If you can not easily do that, plug it in and adb push it.
Added a flashable zip to the first post, happy holidays guys and gals!
I tried the flashable zip with CWM, but it aborts when install.
How can I clear cache & dalvik cache in CWM. There is only with the clear data/factory reset.
Can you tell me the exact error that recovery prints?
I'm almost positive *clear cache* is in the root of recoveries settings and then *clear dalvik cache* is under advanced.
Error is "Installation aborted"
I use the CW Bootstrap recovery, then reboot recovery that purchased from Market for "Bootstrap for Tab".
Select install zip in SD card. Wipe clear cache & in advance for clear dalvik cache. It's still installation aborted.
Okay, I need to change something in the install script, illtry and do it in the next couple hours.
If you ever get the other apk's integrated into the update.zip, I'd be happy to give a test run on my VZW tab.
I did the manual files delete and paste before, but froze the Tab and non bootable anymore. I'm on my second tab, definitely need the update zip for this.
Sent from my SCH-I800 using XDA App
Just an update- I got back from vacation last nightand need a day to recover but I plan in fixing the zip tomorrow.
Also, regarding the mobile print apk, I have tried using every resource possible to deodex it without success so I've given up on it. I blame bad coding, lol.
If any of you care about quadrant scores (which I don't) I was recently asked what I was getting, around 1150-1170. So a bit better I than stock I suppose bit I only deodex for themes really.

Categories

Resources