Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) I have learnt a lot from this forum and a few others. I think I should document where I am and how I have modified my firmware, if it helps others. I suppose this is the ethos of open source - learn from others, build on it, and pass it back. This how-to is for a manual mod on my t-mobile uk 2.1 pulse firmware. In hindsight, I should have started out with the Swedish 2.1, as that is more vanilla. You could do the same with any firmware, any mod or possibly any android device. Rebuild your existing setup, or choose your favourite stable mod, put in on your phone, and start modding yourself. Only caution, I would advise, is to understand what you are about to do (or have a backup), before you make any change. I will list any detailed steps or commands required, where possible or asked for. As such, there are no downloads within this how-to. All downloads are from the android market and/or the android sdk. Ask if you can't find something... I have done a lot of trial-and-error and subsequently found that many others have been there and done that, ending mostly at a stage better than me. I am still an android newbie comparatively, and by no means an expert or a programmer, though I have been using linux for a few years, and understand c and shell-scripting a little bit. What I list below is running fine on my pulse, and I have had no current issues whatsoever. What you do with your system is entirely your risk. At the very least, make backups at every stage. Don't be afraid of trying out anything. I haven't heard of any instances where a phone has gone totally ka-put! My main vision was to clear out whatever I could from /system, and fill it up with what I needed, to reclaim /data and keep it as free as possible. The less there was to worry about, the easier it is to work with what is left. The next goal was to bring it as close as possible to the vanilla firmware. My personal recommendation is to keep as close to upstream as possible, and any required changes to be pushed upstream! Focus for upstream is on generics, and for downstream is on specifics. And this goes for everything - os, kernel, apps, configs, etc. The farther we diverge from upstream with our changes, the more complicated and error-prone will be any further updates. And this increases exponentially with time and down the roadmap. If anyone from t-mobile/huawei (or any others for that matter) is reading this, please take note!!! :) It seems t-mobile/huawei have gone all-out to customise their firmware so much that, I suspect, it is going to take them a lot of effort in bringing out new updates, which possibly means that any android updates would be very late in coming, at best. We can see this, with the adventure t-mobile are still having in releasing a 2.1 uk update, while the rest of the world are getting 2.2. Perhaps, t-mobile should consider stripping out all customisation and keeping as close to the vanilla firmware, as possible. This should certainly save them a lot of customer-aggro, time and money in releasing new updates. I suspect some t-mobile developers are making sure they keep their jobs... :lol: Final goal was to tweak and make the firmware more efficient in terms of power, speed, basic phone call performance, etc. What I have not considered is themes/eye-candy, etc. I am inherently a minimalist, and I prefer no distractions. I have removed all wallpapers, boot-animations, spurious/large ringtones, etc. This reclaims much space, some speed and power. The quickest and easiest method that I preferred was to boot into recovery mode and use adb via usb. If you don't have (or want to use) the usb cable, adb can connect to your mobile via wi-fi too. I use linux and my laptop runs debian lenny. Create a text file named "/etc/udev/rules.d/51-udev.rules" with contents SUBSYSTEMS=="usb", SYSFS{idVendor}=="12d1", MODE="0666" adb (android debug bridge) is the only tool we need on our computer. You can find more info at http://developer.android.com/guide/developing/tools/adb.html. I will list what is required below. I have copied adb into ~/bin, and it is in my path. You need to do something similar, or prefix the whole path to adb each time. Starting the adb deamon as root, is the first step. $ sudo adb start-server * daemon not running. starting it now * * daemon started successfully * It seems, the adb deamon does not work if started as an unprivileged user. If it is already running you need to kill it first, before starting as root. $ sudo adb kill-server Now you can run all adb commands as a normal user, i.e. $ adb devices List of devices attached ???????????? recovery Ignore those question marks. For a long time, I assumed that they meant I had no connectivity, and it threw me off. If you don't see any lines, then you need to worry and start troubleshooting. Now, we need to mount the devices. $ adb shell mount -a Finally, we are ready to start playing (or hacking)... :( $ adb shell ls -l /system/app ... $ adb shell ls -l /data/app ... Other commands that I've used are: cp, rm, push, pull, reboot and reboot recovery. Nothing too complicated. :-) One command I particularly find useful is "sort". I periodically list all app sizes and prune the bigger ones out, replacing them with smaller ones from the market. App size does matter, as it means the developer is particular about efficient coding, and it eliminates waste on your phone. Any time an app starts going bloatware, I stop using it and uninstall. I continously look for more efficient apps. $ adb shell ls -l /system/app | sort -n -k5 ... $ adb shell ls -l /system/app | sort -n -k5 ... Apologies in advance, if people find these initial posts changing often. I will update all information here, rather than in a separate post each time, so we might not need to scour all the posts in this thread to find the last update. Also, all tips gratefully received. Please bear in mind that all the information here is credited to others, and I'm happy to mention names where required. Edited September 24, 2010 by ve100
Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) capacity & utilisation It is very important to understand the capacity & utilisation! This is mine, with ~100 apps that I've added, including CoPilot Live. Previously, I couldn't even install the CoPilot, which was supplied included in my t-mobile contract. Now, I can install another similar humunguous app, and still have some free space... :lol: $ adb shell df -h Filesystem Size Used Available Use% Mounted on tmpfs 52.7M 0 52.7M 0% /dev /dev/block/mtdblock3 20.0M 15.1M 4.9M 76% /cache /dev/block/mtdblock2 90.3M 64.4M 25.8M 71% /data /dev/block/mtdblock1 100.0M 95.4M 4.6M 95% /system /dev/block/mmcblk0p1 1.8G 1.4G 455.3M 76% /sdcard clearing out /system/app/ I have removed many supplied apps. This is because they were non-standard (i.e. t-mobile/huawei version), unnecessary or there were stock alternatives/updates available. See below for the apps I removed/replaced. I have removed Email.apk, and have had no problems at all, even though many seem to suggest otherwise. I leave your decision to you. AlarmClock.apk MMITest_II.apk CallLog.apk Maps.apk Contacts.apk MobileTV.apk ContactsProvider.apk Music.apk CzechPack.apk MusicShop.apk Dialer.apk MyCalendar.apk DMClient.apk MyBookmarks.apk DocumentToGo.apk MyEvent.apk DrmProvider.apk NotePad.apk DutchPack.apk PolishPack.apk Email.apk RoadSync.apk EmotionClockWidget.apk SFP.apk FileManager.apk SetupWizardEx.apk Gallery.apk StaticPhotoFrame.apk GermanPack.apk Street.apk HTMLViewer.apk TopApps_1.2.0.apk HuaweiSyncClient.apk VisualizationWallpapers.apk HWDrmApp.apk TouchPal.apk HWTheme_Work.apk clearing out /system/bin/ all sync* and debuggered sync syncat syncbt syncctl syncobex syncpcuiu syncsdr debuggerd clearing out /system/media/ I basically cleared out almost everything therein. clearing out /system/cust/ I can't remember what I removed from here. reclaiming /data/app Now I have so much space in /system, I moved many apps from /data/app into /system/app/. My main focus was to get co-pilot and other large non-market apps out of /data/app/ and saturate /system/app/. I also moved any apps, which I do not want auto updated, into /system/app/. com.alk.copilot.apk com.dataviz.docstogo.apk com.android.vending.apk com.helixproject.launcher.apk to-do pls help with below odex - should we? - how to? - what? Edited September 24, 2010 by ve100
Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) stock apps I found stock apps from elsewhere. Refer post# 8 from starkos for the contacts apps. Contacts.apk ContactsProvider.apk Gallery_1.1.30682.apk Music.apk and replaced these in /system/app/ Contacts.apk ContactsProvider.apk Gallery.apk Music.apk market updates I removed these apps in /system/app/, as the market had updated them in /data/app. Vending.apk Maps.apk Street.apk DocumentToGo.apk caveat I lost a lot of time due to not understanding how "data" works. When we replace any apps, we need to wipe not just dalvik-cache, but data too. I was only wiping dalvik-cache, without wiping data, and I got a lot of acores/FCs for some apps (specifically Contacts). Refer post# 9. I had to wipe not just dalvik-cache, which is what I had been doing along, but was not sufficient. More importantly, I had to wipe data, or specifically clear /data/data/com.android.contacts and /data/data/com.android.providers.contacts. Once I did so, I received no further errors, and the stock Contacts worked fine. I lost all contacts, but the next sync downloaded all of my google contacts. Thankfully, I never keep any contacts on the phone. To wipe dalvik-cache, clear out /data/dalvik-cache. $ rm /data/dalvik-cache/* To clear out data, identify the specific apps. In my case, I had issues with contacts. These were provided by two apps - Contacts.apk and ContactsProvider.apk. If you search within /data/data, you can find the corresponding files - /data/data/com.android.contacts and /data/data/com.android.providers.contacts. $ rm -r /data/data/com.android.contacts/* $ rm -r /data/data/com.android.providers.contacts/* to-do please help with below... what are the other stock apps that i can update? where do i find them? how can i make my phone more vanilla (i.e android standard build)? Edited September 24, 2010 by ve100
Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) customise ring delay The ring delay was getting me very frustrated, as I would only find out who was ringing on the 4th-5th ring. These tweaks below will eliminate the ring delay. But I still find a delay for the contact/number coming up by the 3rd-4th ring. add/edit these lines in /system/build.prop # disable ring delay ring.delay=1000 ro.telephony.call_ring.delay=1000 market fix add the following lines and remove/comment out the corresponding lines, in /system/build.prop # fix market apps ro.build.description=passion-user 2.1-update1 ERE27 24178 release-keys ro.build.fingerprint=google/passion/passion/mahimahi:2.1-update1/ERE27/24178:user/release-keys wifi fix This should stop the wi-fi scanning continously. When I want, I can do a manual scan. add/edit these lines in /system/build.prop # time between known AP scans in seconds wifi.supplicant_scan_interval=300 low battery add the following to /system/build.prop ro.config.lowbattery_shutdown=0 ro.config.hw_lowbattery_charge=0 This hasn't really eliminated the low-battery warnings, or the shutdown when battery is low. But, I suppose, I'm no worse off... :lol: launcher I discovered HelixLauncher while hunting for smaller and faster launchers. Neither launcherpro nor adw fit the bill, as both are humungous in comparison. Their only seeming advantage seems to be eye-candy. And I am more concerned about efficiency in terms of space and power. HelixLauncher at v1.2a seems to be quite stable. After using helix for sometime and not having any issues at all, I removed the default launcher Launcher.apk from /system/app/ and added helix into /system/app. I am still looking for smaller and sleeker launchers, if anyone can suggest. Edited September 24, 2010 by ve100
Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) eye-candy the aim is to eliminate as much eye-candy as possible, and replace all colours by black, as much as possible. this should regain much space and some speed + power. boot-animation /system/media/boot-animation.zip contains one file desc.txt, containing 320 480 8 i wonder why my bootlog shows up with an error that it cannot find /data/local/boot-animation.zip? is that where this was originally supposed to be? wallpaper just one very small .png file, of a single colour - black. removed Live Wallpapers and deleted all wallpapers. audio deleted all files, only keeping the ones specifically used. to-do is there any way to have a dark coloured (black?) google search bar widget? the white colour is too bright among all the other dark coloured items. Edited September 24, 2010 by ve100
Guest BigBearMDC Posted September 22, 2010 Report Posted September 22, 2010 Nah just kidding :lol: Screenshots/download? Edit: Oh, welcome to the MoDaCo Pulse forum by the way :) Best regards, BB
Guest starkos Posted September 22, 2010 Report Posted September 22, 2010 I would like to replace the t-mobile/huawei contacts apps. But, I haven't yet succeeded in replacing them with the stock vanilla apps. I get continous FCs from GoogleApps, and I have almost resigned myself for now. This still bugs me. If I am successful, I will list the how-to here. You shouldn't have any problems replacing the contacts app. I use both contacts.apk & contactsprovider.apk taken from the 2.1 sdk, just remember to wipe dalvik cache in recovery after replacing them! I'm pretty sure what I've attached is correct but may not be as it was a long time ago and I've changed roms quite a bit..
Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) You shouldn't have any problems replacing the contacts app. I use both contacts.apk & contactsprovider.apk taken from the 2.1 sdk, just remember to wipe dalvik cache in recovery after replacing them! I'm pretty sure what I've attached is correct but may not be as it was a long time ago and I've changed roms quite a bit.. I entered the recovery mode, replaced Contacts.apk and ContactsProvider.apk in /system/app with the ones in your attached zip, and cleared the dalvik-cache. Upon restarting, I get continuous acore errors. Sorry! The process android.process.acore has stopped unexpectedly. Please try again. [Force close] Also, Contacts icon is null and won't open. Phone icon displays ok, but won't open. Edited September 22, 2010 by ve100
Guest starkos Posted September 22, 2010 Report Posted September 22, 2010 I entered the recovery mode, replaced Contacts.apk and ContactsProvider.apk in /system/app with the ones in your attached zip, and cleared the dalvik-cache. Upon restarting, I get continuous acore errors. Sorry! The process android.process.acore has stopped unexpectedly. Please try again. [Force close] Also, Contacts icon is null and won't open. Phone icon displays ok, but won't open. Sorry that's never happened to me so I can't really help. Also I'm not sure if I have ever tried it with the t-mob launcher/canvas as I normally replace it with ADWLauncher, so maybe that's the issue?
Guest ve100 Posted September 22, 2010 Report Posted September 22, 2010 (edited) reserved 5 ??? Nah just kidding :lol: Screenshots/download? Edit: Oh, welcome to the MoDaCo Pulse forum by the way :) Best regards, BB Thanks, BB! I've been a quiet lurker in this forum for a few weeks now. I thought it was time for me to put down my learnings here. That is the ethos of open source, non? Sorry, I don't use (or have space for) screenshot app. There is nothing to show-off eye-candy wise, except the speed, battery, and quick response. Looks-wise, my phone is probably boring to you all, but that is not what I aim for. With the standard t-mobile uk firmware hacked as above, my phone boots up in under a minute, and the battery lasts more than two days. With all the fancy mods you all experts do, it could be much better. I have listed the steps to mod any firmware, not specifically mine. So, users don't need any downloads from me. All they need is probably already on their phone. :( Edited September 23, 2010 by ve100
Guest skandigraun Posted September 23, 2010 Report Posted September 23, 2010 The 'reserved 5' was a joke. Yesterday, when this thread started theer was only text in the first post, and the reserved 1, reserved 2, reserved 3, reserved 4. BB just continued :lol: Btw it seems a fine tutorial at the first glance
Guest ve100 Posted September 23, 2010 Report Posted September 23, 2010 (edited) Sorry that's never happened to me so I can't really help. Also I'm not sure if I have ever tried it with the t-mob launcher/canvas as I normally replace it with ADWLauncher, so maybe that's the issue? I don't use the t-mob launcher/canvas either. After using HelixLauncher and finding no issues, I removed the t-mob launcher/canvas, and reclaimed a lot of space. I have worked some more, and now have a solution. I had to wipe not just dalvik-cache (which is what I had been doing along, but was not sufficient). More importantly, I had to wipe data, or specifically clear /data/data/com.android.contacts and /data/data/com.android.providers.contacts. Once I did so, I received no further errors, and the stock Contacts worked fine. I lost all contacts, but the next sync downloaded all of my google contacts. Thankfully, I never keep any contacts on the phone. I will update my above post. Thanks, starkos! Edited September 23, 2010 by ve100
Guest starkos Posted September 23, 2010 Report Posted September 23, 2010 I don't use the t-mob launcher/canvas either. After using HelixLauncher and finding no issues, I removed the t-mob launcher/canvas, and reclaimed a lot of space. I have worked some more, and now have a solution. I had to wipe not just dalvik-cache (which is what I had been doing along, but was not sufficient). More importantly, I had to wipe data, or specifically clear /data/data/com.android.contacts and /data/data/com.android.providers.contacts. Once I did so, I received no further errors, and the stock Contacts worked fine. I lost all contacts, but the next sync downloaded all of my google contacts. Thankfully, I never keep any contacts on the phone. I will update my above post. Thanks, starkos! Lol, sorry as I did it so long ago I completely forgot there was a specific file in data/data you also have to delete, I think it's a contacts db file.. Well at least you got it sorted now, good luck with your rom :lol:
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now