[V6U9RC13]For Your Lag(4x) Do it good, Good, GOOD, GOOD! SuperCharge Your Launchaaah! - Android Software/Hacking General [Developers Only]

Hey if somebody says that minfree tweaks don't work on ICS and JB, you can safely assume that they don't know what they're talking about lol
================================================= ==========================================
Please Rate the thread 5 Stars and click the Thanks Button! (any of my posts will do!) if you have enjoyed using The V6 SuperCharger!
Or consider donating - HUGE THANKS to those that have already donated!
And THANKS for constructive feedback - which makes this mod so AMAZING!
================================================= ==========================================
Rant: So I "cleaned up the OP" by adding little headings and hiding stuff. So if you want to post that it's still confusing, DON'T bother.
If you don't like it, don't use it. (And calling yourself a n00b is a BS excuse - READ and LEARN something like everybody else did.)
So... if you don't read and search first, and ask redundant questions anyway... be ready for...
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Main Download Page is HERE (V6 SuperCharger and all the latest RC/Beta/Tests for Kick Ass Kernelizer, 3G TurboCharger, and Die-Hard Battery Calibrator)
Latest V6 SuperChargers are Black Dog-63457-Fix and For Your Lag
Latest KAK and 3G TC are HERE
Click to expand...
Click to collapse
Post #2 Info! - This is for the application of the following 3 Mods to services.jar!
Mod 1. ICS and Jelly Bean - require the Jelly ISCream Mod done in conjunction with the V6 SuperCharger Script to SuperCharger your launcher!
Mod 2. Froyo and up - can have the New Maximum MultiTasking Mods (Maximum Overdrive and the Time Killer Killer)
Mod 3. Sense 4 and up - remove the Sense 4 limit of only 8 visible apps with the Non-Sense App Limit!
These 3 mods are applied with my:
-=Ultimatic Jar Patcher Tools=- (fully automated exe/bat/sh tools) OR...
-=Ultimate Jar Power Tools=- patcher script (formerly called Jelly ISCream Smali Patcher) to automate Step 5 in Post #2 - the smali edits
Note: The webapp needs updating (aka the "Automatic Transmission" in V6 SuperCharger) and won't work on JB!
Click to expand...
Click to collapse
.​
SuperCharger = Speed + Multitasking!
No more lag! No more launcher redraws! Smooth & Snappy!
It's the ONLY Complete Memory Management Fix!​
There is NOTHING ELSE LIKE IT!
It Runs Like A...
​
So... HOLD ON TIGHT!​
Terms of Use:
99SuperCharger Tweaking: Of course, I don't own any rights in regards to the actual tweaks applied to system settings.
This means anybody is free to mess with OOM groupings, OOM priorities and minfrees.
So it's fine to modify and share your tweaked 99SuperCharger file as long as you leave the credits intact
Developers may include the attached V6 SuperCharger Installation Script in their roms. (This installs 99SuperCharger)
The attached V6 SuperCharger installation script may NOT be disassembled in any way, or be used as a part of any memory management app or package.
This is because it is no different than an app/apk found in the market. It's an installation program.
I don't own any right to tweak OOM Groupings, OOM Priorities, or minfree values. But I do own this program.
ATTN DEVS: Baking the V6 SuperCharger memory system in your ROM is 100% fine.
..................Don't make it a "secret" feature. Make it a PROMINENT feature and give proper credit and a HTML link to this thread.
..................You can include the V6 installation script in the system/xbin folder so users can use it with terminal emulator
.................. - giving it a short name is fine as it's a pain to type long file names in terminal.
..................Do not modify it, do not rebrand it (ie. It's not called "V6script"). Thank you.
This is the only permissible distribution of the attached installation script - unmodified, in a custom rom and in the system/xbin folder.
Modification and redistribution of the attached installation script is not permitted at all.
This means that you cannot feel free to zip up the attached installation script with other tweaks and this means that it is not be edited and shared.
ATTN USERS: If you use or encounter a ROM with the V6 SuperCharger memory system, without proper credit given and no SuperCharger source links, please make the Developer aware of it, and if necessary, please let me know about it. Thank you.
Personal Use: You may tweak the V6 installation script (leaving credits intact) to your own personal liking as long as it is NOT redistributed in any way.
If you want to share this, just link to this thread.
If you want to make a thread in other forums telling people about it, that's great.
But I would prefer that you do not post a copy of the V6 SuperCharger installation script in those forums.
Your co-operation is very much appreciated.
I don't want diluted/broken V6 SuperCharger installations floating around and then have people say it doesn't work.
=============================================================================
Bonus Battery Calibration Info:
First, let me link to my method of calibrating the battery without downtime so you can use your phone normally and do it whenever it's convenient.
It definitely works on Milestone and it seems to work on Droid.
I think that's a pretty good trick, anyway - it may even work on other phones
Note: You can also try my Die-Hard Battery Calibrator script which is on the download page.
Update: As I suspected, any calibration method doesn't magically make your battery last longer
.............. - All my battery tips/scripts really do is help ensure that you are actually getting a full charge. THAT'S IT.
.............. - Which is why my Die-Hard Battery Calibrator has always notified the user the REAL percentage vs the REPORTED percentage
=============================================================================
Summary of Steps (Yeah, it's THIS friggin easy...)
Before you start reading, just know that this is not difficult to implement... it's easy. There's more specifics below but basically:
1. Download a script
2. Install BusyBox (Attached! - see install instructions above the attachments)
3. Install Script Manager (Enable Browse as Root in Config)
4. Load script into Script Manager (Run As Root - the skull and crossbones icon which turns green when selected)
5. Follow instructions/user prompts & select what you want
6. Patch services.jar as needed (see Post 2)
See? EASY!
Note: If you get errors, or fail the driving test, use the SuperCharger Starter Kit from the download page.
Essentially, the Starter Kit makes sure that your ROM has no silly stability issues.
It includes:
A proven busybox
Fixed su binary (for segmentation fault issues with superuser.apk on ICS only)
zipalign binary and sqlite3 binary (used in Update 9 RC*)
=============================================================================
Know that the script explains what it does before it does anything!
It holds your hand along the way and it will answer nearly all your questions as it moves along!
It works on ALL Android devices - Custom Roms or Stock Roms, Phones or Tablets, it doesn't matter!
Also Note: Nothing else does what The V6 SuperCharger does!
................Not AutoKiller Memory Optimizer, Not Auto Memory Manager, Not Minfree Manager...
................And NOTHING BEATS IT. PERIOD.
So... if somebody says to you that V6 SuperCharger does the same thing as [pick any app], tell them to first read about what they're talking about so that they can actually have an informed opinion.
Get A Taste of The V8 SuperCharger - Some details for 3G TurboCharger & Kick Ass Kernel Tweaks are here (older versions there too)
......................................................... - V8 SuperCharger Alpha for Milestone!
=============================================================================
Memorable User Comments:
"Feels like I have a new phone!"
"V6 is one the best things to come to android."
"Supercharger rocks bro, I'm actually mad I waited so long to do it..."
"I wish I hadn't upgraded yet"
"Now I can wait to upgrade",
"I was about to throw this phone through the wall",
"I was about to return it but now I don't have to",
"This cured my phone of cancer!"
"Oh man... just applied the V6 Supercharger Script by ZeppelinRox on my Android.. I think it fixed everything..",
"My phone is better than new!",
"my phones has turned god mode on or somthing",
"I never notice this at all, until I flash a new rom and realize its not there anymore lol."
=============================================================================
What's it do?
It makes your phone FAST... super snappy with better multitasking!
It rearranges and fixes the OOM Groupings and Priorites and lowmemorykiller values.
So basically, it's a COMPLETE MEMORY MANAGEMENT FIX!
It's the ONLY one of it's kind
NO LAUNCHER REDRAWS, faster than ever, multitasking is better... why?
Because it works with the lowmemorykiller and letting it work the way it's meant to work.
Also, because of the rearrangement, it works the same on all roms!
The problem with using minfree tweakers like AMM or AKMO is that it doesn't work the same on all roms.
Secondary apps may be in slot 3 on some roms but in slot 5 in others!
That's why you hear people comment "I tried AKMO but it didn't do anything..."
Most likely it didn't do anything because the apps weren't sitting where they were expected to be.
So fasten your seat belts and enjoy the ride!
=============================================================================
RAM Lesson:
Important Note: FREE RAM IS NOT WASTED! - Read Linux Memory Consumption
...................... That article TOTALLY confirms what I've been saying!
To Summarize: Article: "Performance degradation occurs when "Absolute Free Memory" (includes Cached RAM) decreases."
...................... Me: "Lag happens when free ram goes below the 'lag level'"
Same thing, different language
Big Thanks to dev hardcore and this post for helping me figure stuff out way back when
=============================================================================
Note: Do this at your own risk - regardless of how little risk there is .
............ It has the UnSuperCharger Option to uninstall, but do a nandroid anyway.
............ Simply reflashing your ROM will also wipe it clean from your system.
=============================================================================
Requirements:
1. Rooted Android Device. Milestoners, you can use Universal Androot (not in market ?)
2. Script Manager or Terminal Emulator to run the script. Stock ROMs can also use SM to load up boot scripts!
3. Busybox v1.16.2 OR ABOVE. You can use any of the ones attached to this post which contain a Feature Rich busybox v1.19.4 by wraithdu (CWM flashable.zip, "Normal" Installation script by me and one which reinstalls BusyBox on EACH boot by me.)
OR,,,
Grab the SuperCharger Starter Kit and have busybox plus other tools (fixed su binary for ICS with superuser.apk and not supersu.apk, zipalign binary and sqlite3 binary) installed instantly!
BusyBox WARNING: Some versions are "minimal" with many missing applets and functions! I also find v1.18.3, v1.18.4 and 1.185 VERY much a hassle with errors that should NOT be errors! Avoid any such versions! Minimal is BAD!
4. Optional: AutoStart Script by me - Enables Stock ROMS (Milestone + a few other devices) to utilize etc/init.d for boot scripts.
=============================================================================
Installing/Using:
1. Download the attached V6_SuperCharger_for_Android*.txt/pdf script and save to your sdcard.
- Do NOT run the V6 SuperCharger install script at boot!
2. Run the script:
A) Load the script (V6_SuperCharger_for_Android*.txt/pdf) into Script Manager and select "Run as Root" (skull and crossbones "Su" icon - it turns green when selected)
OR...
B) Run Terminal Emulator and simply type: su and enter, sh /sdcard/V6*.sh and enter (provided you saved the script to the root of your sdcard)
OR...
C) via ADB on your computer. In a console, type: adb shell and enter, su and enter, sh /sdcard/V6*.sh and enter (provided you saved the script to the root of your sdcard)
3. Get SuperCharged! Just pick an option! The extra options (Engine Flush, etc.) explain things before doing anything
4. READ the script's output!
5. Afterwards, READ the html HELP FILE in the root of your SD Card!
6. Non-ICS/JB ROMS - Disable "Lock Home in Memory" if your ROM has this option. (This takes effect immediately.)
7. Optional: For a quick status check, you can put a Script Manager widget for V6 SuperCharger on you desktop
8. Reboot - required if it's your first time SuperCharging the rom.
9. Check if it works - After reboot, run the V6_SuperCharger script and check the info under the menu.
10. Patch services.jar as needed (see Post 2)
Cool! - Here are a few recent tutorials:
[GUIDE] How to install Supercharger V6 (includes patching steps)
[How To][Video Tut] Install/Run V6 Supercharger + Basics (uh... video)
[GUIDE] V6 Supercharger Update 9 RC 8.2 + for Samsung Galaxy Young (includes a little KAK tutorial too)
If you are using compcache and have lag or slow down after SuperCharging,
DISABLE compache, wipe caches and re-enable it.
Non-ICS/JB ROMS - Be sure to uncheck/disable lock home in memory!
Note: V6_SuperCharger-AOR.zip is for use with Milestone's Androidiani OpenRecovery. Even if you have a Milestone, don't run it within Android.
........ AOR Usage: Extract to the root of your sdcard (Directory structure is in the zip)
.........You will now have a SuperCharger Menu on the main screen. Simply select the menu and select 1 of the 12 options.
=============================================================================
Pro Tips:
- CUST-OOMIZER! Use your settings without Autokiller Memory Optimizer or Auto Memory Manager!
- Use the 3rd slot to set how much free ram you want.
- If you have a viable init.XXX.rc file, it makes a backup and edits that single file. This is nice and tidy.
... Thank to kabaldan for pointing out the importance of certain things.
- Most Custom ROMs - If you have a /system/etc/init.d folder, it creates 99SuperCharger in there and edits your choice of either /data/local.prop or /system/build.prop (18 entries added for adjusting priorities and groupings). You shouldn't need to configure anything else.
- If the minfree levels do not stick on your Custom ROM:
........ Check /data/Ran_Supercharger.log to see if it ran... (Update 9 RC*)
........ If this happens to you, use Script Manager to load /system/etc/init.d/99SuperCharger "on boot" and "run as root"
- Stock ROMs - It also creates /data/99SuperCharger.sh which you can load up on boot (run as root) with Script Manager. The OOM groupings work as well since it happens on boot in local.prop or build.prop (18 entries added)
In case of any error, you will find a related help file in the root of your SD card.
So... I think this covers ANY Android ROM
The Help File! (Abbreviated)
-=The V6 SuperCharger=- created by zeppelinrox.
Here is some Background Info in case you're curious...
Linux Memory Consumption - Nice article!
Memory and SuperCharging Overview or... "Why 'Free RAM' Is NOT Wasted RAM!"
MFK Calculator Info - explanation for vm.min_free_kbytes
Stock ROMs: After running the script, have Script Manager load the newly created /data/99SuperCharger.sh on boot
In the "Config" settings, be sure that "Browse as Root" is enabled.
Press the menu key and then Browser. Navigate up to the root, then click on the "data" folder.
Click on 99SuperCharger.sh and select "Script" from the "Open As" menu.
In the properties dialogue box, check "Run as root" (SuperUser) and "Run at boot" and "Save".
And that's it!
Script Manager will load your most recent settings on boot!
If you run the script later and with different settings, you don't have to reconfigure anything.
Script Manager will just load the new /data/99SuperCharger.sh on boot automagically ;^]
Custom ROMs: If you have a custom rom that loads /system/etc/init.d boot scripts,
You DON'T need to use Script Manager to load a boot script. It will all be automatic!
Also, if you can run boot scripts from the /system/etc/init.d folder, there are other options.
For example you can use an app like Terminal Emulator to run the script.
NON-ICS ROMS: If your ROM has the option, DISABLE "Lock Home In Memory. This takes effect immediately.
Alternately, if you need to free up extra ram, you can use "Lock Home in Memory" as a "Saftey Lock".
ie. Use it to toggle your launcher from "Bulletproof" (0) or Hard To Kill (1) to "Weak" (2) in the event that you want to make the launcher an easy kill and free up extra RAM
If Settings Don't Stick: If you have Auto Memory Manager, DISABLE SuperUser permissions and if you have AutoKiller Memory Optimizer, DISABLE the apply settings at boot option!
Also, if you have a Custom ROM, there might be something in the init.d folder that interferes with priorities and minfrees.
If you can't find the problem, a quick fix is to have Script Manager run /system/etc/init.d/*99SuperCharger "at boot" and "as root."
Another option is to make a Script Manager widget for /system/etc/init.d/*99SuperCharger or /data/99SuperCharger.sh on your homescreen and simply launch it after each reboot.
For those with a Milestone, I made a version for Androidiani Open Recovery too
Just extract the zip to the root of /sdcard (it contains the directory structure), load AOR, and there will be a SuperCharger Menu on the main screen!
==============================================================================
The above is ALL YOU NEED TO KNOW.
The V6 SuperCharger Script EXPLAINS EVERYTHING that it does - as you use it!
Anything below is extra info!
So get SuperCharged FIRST and then read the stuff below to see how it works!
==============================================================================
The Nitty Gritty... For Geeks! (WARNING: This can make a non-Geek's head Assplode!)
If you read Post #3 (History Parts 1-3), you'll see that at first it was only about minfrees and launcher redraw.
But after installing GingerBread, I saw that it needed more work than Froyo LOL.
Groupings were ALL MESSED UP and made NO SENSE to me whatsoever...
So I figured out how to group them more like CM6 (Froyo) but that still wasn't good enough...
So I further rearranged the OOM Groupings and Priorites and lowmemorykiller values and created a SuperCharger for phone memory...
THE ONLY COMPLETE MEMORY MANAGEMENT FIX!
Upon installation, V6 SuperCharger will first clean up any previous supercharging so none of your files get cluttered.
But if you toggle between Hard To Kill and BulletProof launchers, the memory adjustments aren't affected.
So you can leave your minfrees at stock/default settings and apply the Hard To Kill Launcher and still get the OOM Grouping/Priority fixes.
So if you love your ROMs memory settings, just try a SuperCharged Launcher/OOM Fix... you won't regret it
It's pretty awesome
Here are some snaps....
Before...
After...
During....
Bonus....
Say Buh Bye to AKMO or any app that has to load on start up to change minfrees...
So did you notice the difference in groupings?
By default, CM7 has nearly all the apps in slot 5 and the launcher in slot 3.
Slightly aggressive settings will kill any chance of multitasking in that situation.
After SuperCharging, the apps get moved to slot 3 while the launcher is in slot 2 but the most important item in slot 2.
I've read, "oh you don't need to run any scripts for memory management..."
Well that's not true.
Playing with minfree values is one thing... it's playing with minfree levels... it's not really memory management...
Look at the pics above... now THAT's memory management...
If you look below at Post #3... that's how it all started... good background info in case you're wondering what the hell I'm talking about.
Notes: Minfree changes take effect immediately!
.......... Switching between Hard To Kill (strong), Die-Hard (stronger) and BulletProof (strongest) Launchers require a reboot to take effect.
.......... Disable your OS's "Lock Home in Memory" option, if it has it
.......... Or use "Lock Home in Memory" as a "Saftey Lock" - to toggle your launcher from "Bulletproof" (0) or HTK (1) to "Weak" (2)
.......... Note: "Lock Home in Memory" is not ADJ 1 with my OOM Grouping/Priority Fixes
Cool Tip: Sometimes it's difficult to keep a wanted background app alive, such as an SMS app. See how to Bulletproof Background Apps!
Remember: When using scripts, use the SuperUser app to DISABLE SuperUser permissions for AMM!
................. It can still monitor your OOM groupings but it can't change your custom settings on boot.
................. If you have AKMO installed, disable it's option to Apply Settings at Boot!
==============================================================================
BusyBox v1.19.4 Install Script Instructions:
First extract busybox_v1.19.4-wraithdu-installer_script.zip to the root of your sdcard
Method 1 - Just run the script inside/sdcard/bb1.19.4 with Script Manager as root.
Method 2 - Run terminal and type su and enter
............... - Type sh /sdcard/bb1*/busy* and enter
............... - Soup's On, Baby!
Boot Re-Installer! For BusyBox v1.19.4 Instructions:
For PITA kernels and roms that insist on reinstalling old busyboxes on boot!
Contains same script as above but includes another script that makes busybox v1.19.4 reinstall each boot!
Basically, it installs the above script as /system/etc/init.d/96busybox
So for those kernels and roms... TAKE THAT!
First extract boot_reinstaller_script+busybox_v1.19.4-wraithdu-installs_every_boot.zip to the root of your sdcard
Method 1 - Just run the boot_reinstaller* script found inside/sdcard/boot.bb1.19.3 with Script Manager as root.
Method 2 - Run terminal and type su and enter
............... - Type sh /sdcard/boot*/boot* and enter
............... - Soup's On, Baby! (again and again!)
==============================================================================
V6_SuperCharger-AOR.zip is for Androidiani OpenRecovery for Milestone!! - For Milestone ONLY! - See "Installing/Using" instructions above!
How To Save Attached Files
- Right click with your browser & select "save as" from menu, or use the QR Code or XDA app or Tapatalk
- Also a great method - use Opera Mini web browser. Very easy to download and it's FAST!
So... if you get an error like "line xxx: syntax error: unexpected end of file (expecting "blah blah")", it's an INCOMPLETE DOWNLOAD!
Download it again and DO IT RIGHT.
Most recent files are HERE (RC/Beta/Test releases)
Don't Mirror Or RePackage My Files - Just link here - Then your thread won't get real old, real fast.
If you're going to download something...
Please HIT THANKS and Give a 5 Star Rating!

I SCream SUPERCHARGER!!
===================================================================
If this information is helpful, please Rate the thread 5 Stars and click Thanks!
===================================================================
Hacking services.jar
What's this for? - Froyo, Gingerbread, Honeycomb, ICS, Jelly Bean AND Sense 4.0+!
ICS and Jelly Bean - Jelly ISCream Mod (SuperCharge Your Launcher)
Note 1: Earlier Android ROMS need ONLY The V6 SuperCharger Script to SuperCharge the launcher!
Note 2: The webapp is NOT working on some newer roms! The strings to be edited are slightly different and the webapp needs updating!
It also lacks the newest edits and is NOT recommended for the time being!
Froyo and Up - Maximum MultiTasking Mods - Includes -=Maximum Overdrive=- and The Time Killer Killer
Sense 4.0 and Up - Non-Sense App Limit
See the -=Ultimate Jar Power Tools=- thread for more details about the Multitasking and Sense mods!
Use the Ultimate Jar Power Tools patcher script to automate Step 5 (the smali edits) in the tutorial below!
Or use my latest -=Ultimatic Jar Patcher Tools=- to do ALL the Steps in the tutorial! It works for DEODEX and ODEX ROMS and can be run on Windows/Linux/Mac OSX OSes!
===================================================================
Jelly ISCream Mod Information!
===================================================================
The NEW Ultimatic Jar Patcher Tools and Ultimate Jar Power Tools patcher script include all the -=NEW=- Jelly ISCream edits described in Step 5 - PLUS many more! (over 50 edits!)
These additional edits truly makes your launcher SuperCharged!
They also apply the latest Maximum MultiTasking Mods
The webapp hasn't been updated so it's NOT recommended.
===================================================================
Installation - Easy as 1, 2, 3!
1. Run the NEWEST V6 SuperCharger script as always.
Note: You may get Segmentation Fault errors running the V6 SuperCharger script on ICS due to a flakey su (superuser) binary.
To resolve the issue, you can:
A) Go HERE for a fixed su binary. No more fugly segfaults! - Thanks to wraithdu (only for superuser.apk on ICS)
OR...
B) Go HERE and get the SuperCharger Starter Kit!
2. Patch and install services.jar - by whichever method you like best. Your options are, in order of EFFECTIVENESS:
Note: Options A, B and C require Java to be installed on your computer - Click to Verify Java Installation
Option A) Use one of the -=Ultimatic Jar Patcher Tools=- (exe or zip) which DO EVERYTHING for you "Fully Ultimatically" on DEODEX & ODEX ROMS!
Goto Step 3 if you did this!
Option B below is the next preferred method - but there's manual work involved.
Option B) Follow the complete tutorial below and use -=Ultimate Jar Power Tools=- patcher script to automate Step 5 - the actual smali editing!
There are actually 56 edits performed via script... many more than what is specified in the tutorial!
Note that the script allows you to choose the level of your Launcher's Super Strength! (BulletProof, Die-Hard, or Hard To Kill)
Also be sure to have the necessary smali files in the same folder as the script!
ODEX ROMS - ALL Stock ROMS are ODEX (I think... ) So if you have a services.odex file, press the button!
All but Step 5 is automated on Windows with a batch script courtesy of rexstor .
See [Guide][Batch][Odex Rom only!] To get another 50% v6 Supercharged script for ICS!
So you'd run the batch script, and for the editing, run my Ultimate Jar Power Tools patcher script in Step 5
Goto Step 3 if you did this!
Option C) Follow the complete tutorial below without using any Patcher tool.
This is actually pointless to do - there are less edits and it's more work And the laziest people should just do D) below lol
Goto Step 3 if you did this!
Option D) Use the latest Update 9 RC* and select ICS Service Centre's Automatic Transmission! (OUT OF DATE)
Seemless webapp integration and installation to "Lock home in Memory"
Note: This is currently out of date - latest edits and Maximum MultiTasking Mods are NOT included and it does not work on Jelly Bean!
Goto Step 3 if you did this!
Option E) ICS OOM Priority Charger webapp. Same effectiveness as D) but done manually (OUT OF DATE)
Latest Update 9 RC* can install and apply permissions via ICS Service Centre's manual mode
Important: The webapp WON'T WORK for ODEX roms! So if you have a services.odex file, you have use a more effective option above
Also won't work on Jelly Bean ROMS!
More Webapp Info
Just go to http://android.mimic.ca with your devices browser and follow instructions!
In case of upload problems: If your Android browser closes while selecting file to upload, use Opera Mini web browser because it lets you select a file from within the app. Just copy services.jar to the sdcard first
CWM zip option is available!
But if you don't get the CWM zip, and instead download the modded services.jar, you can:
A) Do Steps 8 to 10 below! But first In Terminal Emulator, just type su and enter, busybox mount -o remount,rw /system and enter (Mount system as read/write).
OR...
B) Use the ICS Service Centre's manual mode in V6U9RC*
Help for webapp: Go to http://webchat.freenode.net , channel #v6_supercharger and talk to blk_jack (or me if I'm there)
* All roms (odex & deodex) - to install a patched services.jar/odex, you can use the ICS Service Centre's manual mode in V6U9RC9+ (for Steps 8 and 9 below).
* If you ever have trouble applying permissions to services.jar/odex, just run the ICS Service Centre and permissions gets applied everytime just before returning to the main menu!
3. SuperClean & ReStart! (ie. Wipe Dalvik Cache & Reboot)
Notes: For decent launcher detection use at least V6U9 RC6.9 or newer and check the bOOM Stick to see if the launcher the desired ADJ value!
.......... - Boot will take a LONG time as it "optimizes all your apps"
.......... - If it doesn't boot (unlikely if you did the edits yourself), try wiping caches (not data)
.......... - If it still doesn't boot, you can always just re-flash your current untouched rom but do have a backup nevertheless.
.......... - If you get FCs, fixing permissions will solve that. (Use the "Fix Emissions" Option in the latest V6 SuperCharger Script! )
That's It!
========================================================
OK I got ICS SuperCharged!!
The problem with SuperCharging ICS is that ICS doesn't read ADJ values from build.prop or local.prop - they are hardcoded into services.jar!
So the script alone can only give you a 50% SuperCharge Level with only the V6 SuperCharger script.
Patching services.jar gives you the other 50% along with a SuperCharged Launcher!
ICS users still have to run the V6 SuperCharger script just like before! Use V6U9 RC6.9 or newer for decent launcher status detection!
Note: Of course, the V6 SuperCharger script is ALL YOU NEED on all previous Android ROMS!
So the mod below is for getting the Launcher at a SuperCharged Priority on ICS!
This is akin to the ADJ entries in build.prop or local.prop on earlier Android ROMS which don't work on ICS.
What gets changed?
I rearranged Priorties on ICS like so:
Code:
System -16 (stock)
Persistent Process -12 (stock)
ForeGround app 0 (stock)
Home Launcher 1 (Die-Hard Launcher) (stock=6)
Perceptible app 2 (stock)
Visible app 3 (stock=1)
Heavyweight app 4 (stock=3)
Previous app 5 (stock=7)
Service 6 (stock=5)
Backup app 7 (stock=4)
Service_b 8 (stock)
Hidden app min 9 (stock)
Hidden app max 15 (stock)
As you can see, there are ALOT more app categories now lol
I also decided to give a new app category a higher priority - Previous Apps.
Users with low ram devices will definitely be pleased with that
I was actually able to load Angry Birds, ran a different app, and went back to Angry Birds and it didn't have to restart.
It's practically unheard of for that game to stay in memory like that on my device
I really don't understand the logic of making Previous apps more killable than some app that you were using awhile ago (ie Service) so I fixed it
========================================================
How To:
This will make it easier [Guide][Tutor]Jar/Apk baksmali smali compiler and decompiler
Important! - Get the MOST RECENT smali/baksmali binaries located here (remove the version number so they are called smali.jar and baksmali.jar)
Click to Verify Java Installation - smali/baksmali requires Java to be installed on your computer.
ODEX ROMS: If you have an odex rom (ie. you have a services.odex file) you have extra work. See this
..................... - Watch for dark red text for odex specific instructions! Some of which were initially found in this services.odex hacking guide.
..................... - Going with the odex guide above, you will also need the dexopt-wrapper utility.
..................... - Download the utility "dexopt-wrapper". (Do a search - you'll find it.)
..................... - Mount system as read/write. Open up Terminal and type: su, enter, busybox mount -o remount,rw /system
..................... - Copy it to /system/bin and apply correct permissions.
..................... - In terminal type: chmod 755 /system/bin/dexopt-wrapper, enter.
OR... You can convert your ODEX ROM into an easily modded deodexed one. Here are a few options to do that:
..................... xdaAutoTool (Windows - the first 3 posts have 3 different tools!)
..................... AutoAPKTool + AutoDeodexTool (Linux port of xdaAutoTool)
..................... Auto Deodex & Zipalign Tool (Windows - looks easy)
..................... Manually Deodex and Odex Back (Windows - geeky)
========================================================
Step 1. So grab the tutorial zip from above and unzip into a folder, say C:\super, along with the smali and baksmali jar files. This is all you need apart from a text editor and a zip program like 7zip or WinRAR.
............ Put services.jar (make sure you have a backup) in C:\super.
............ ODEX ROMS: Put services.jar AND services.odex in C:\super. (Note that services.jar will be very small with only a META-INF folder inside)
Step 2. Open up a dos/command prompt and navigate to the folder by typing cd c:\super
Step 3. Type: java -jar baksmali.jar -x services.jar -o classout (services jar gets decompiled into a classout folder.) Leave the dos/command prompt window open.
............ ODEX ROMS: Copy /system/framework folder(with all the jar+odex files) to c:\super
........................ Type: java -jar baksmali.jar -x -a <api_level> -d framework services.odex -o classout
........................ api_level is a number. See this page. So if you're on froyo, you put -a 8. On gingerbread it's -a 9 or -a 10.
........................ If you get an error: Add the $BOOTCLASSPATH to the above command.
........................ So do this command on your device using terminal emulator OR adb shell (easier): echo $BOOTCLASSPATH
........................ Example: You'll get something like this:
/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar
........................ Remove the paths (/system/framework/) so end up with core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.jar:android.policy.jar:services.jar:apache-xml.jar
........................ Now, your final command becomes:
java -jar baksmali.jar -a ## -x -c :junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.jar:android.policy.jar:services.jar:apache-xml.jar services.odex -o classout
........................ NOTE: This command may FAIL if you don't put the colon (:) after the "-c " and before that list of .jar files.
Step 4. Open explorer and navigate down to c:\super\classout\com\android\server\am folder and find ActivityManagerService.smali
Step 5. Use the -=Ultimate Jar Power Tools=- patcher script to perform the following edits (IT actually does TONS more for a smoother SuperCharge!)
Get it from THIS THREAD, and run it like my other scripts and be sure to have both ProcessList.smali AND ActivityManagerService.smali in the same folder as the patcher script! (Erm.... put them on your phone, run the Power Tools script, then copy the new smali files back to where you found them!)
Note that the Jelly ISCream Mod will read the previous ADJ values from ProcessList.smali, searches for those ADJs and replaces them with SuperCharged ones in BOTH smali files!
Then go to Step 6
If you don't wanna go the easy way... click the button!
Open ActivityManagerService.smali in notepad or notepad++ and make following smali edits.
a. Note that the "====" are breaks and NOT part of the smali file
b. Underlined is the search term so you can find the location in the file easily.
... - The search term includes the "quotes" and is CaSe SEnsiTive (ie. select Match Case in search) so you should actually only get 1 hit for all but 1 search.
... - There are 5 hits for "backup" with quotes but just scroll down from the previous edit you'll find it (heh. the previous edit is for "previous" lol)
c. Bold is the edit (note that each edited line begins with "const/4 v10, " Update: New roms now have "const/4 v11, " or "const/4 v14, " instead)
d. (Italized) is the ORIGINAL value
So, for example, the first edit for "visible" apps:
const/4 v10, 0x3 (0x1)
Originally, it looks like: const/4 v10, 0x1
After edit, it looks like: const/4 v10, 0x3
Ok... so here it is
======================
.line 13728
const/4 v2, 0x1
if-le v10, v2, :cond_118
.line 13729
const/4 v10, 0x3 (0x1)
.line 13730
const-string v2, "visible"
move-object/from16 v0, p1
========================
if-ne v0, v2, :cond_154
.line 13768
const/4 v10, 0x4 (0x3)
.line 13769
const/16 v27, 0x1
.line 13770
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13771
const-string v2, "heavy"
move-object/from16 v0, p1
=======================
.line 13777
const/4 v10, 0x1(0x6) Note that this is for Die-Hard Launcher! To BulletProof it, make it 0x0, HTK 0x2
.line 13778
const/16 v27, 0x1
.line 13779
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13780
const-string v2, "home"
move-object/from16 v0, p1
=======================
.line 13788
const/4 v10, 0x5(0x7)
.line 13789
const/16 v27, 0x1
.line 13790
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13791
const-string v2, "previous"
move-object/from16 v0, p1
=======================
.line 13808
const/4 v10, 0x7(0x4)
.line 13809
const-string v2, "backup"
move-object/from16 v0, p1
=======================
-=NEW=-
.line 13828
const/4 v2, 0x6(0x5)
if-le v10, v2, :cond_203
.line 13829
const-string v2, "started-bg-ui-services"
move-object/from16 v0, p1
=======================
.line 13837
const/4 v10, 0x6(0x5)
.line 13838
const-string v2, "started-services"
move-object/from16 v0, p1
=======================
-=NEW=-
.line 13845
:cond_37f
const/4 v2, 0x6(0x5)
if-le v10, v2, :cond_203
.line 13846
const-string v2, "started-bg-services"
move-object/from16 v0, p1
========================
This next part is actually hard to search for so I'm posting a large segment which contains 3 edits that make a HUGE difference!
To make it a little easier, search for "bg-services"
There are 2 hits - The second one is at the bottom of this segment.
Also, not that only one of them begin with the typical "const/4 v10, ", the other 2 begin with "const/4 v2, "
-=NEW=-
const-string v11, "service"
goto/16 :goto_3e1
.line 13932
:cond_487
iget v2, v15, Lcom/android/server/am/ConnectionRecord;->flags:I
const/high16 v5, 0x4000
and-int/2addr v2, v5
if-eqz v2, :cond_496
const/4 v2, 0x2
if-ge v12, v2, :cond_496
const/4 v2, 0x2
if-le v10, v2, :cond_496
.line 13935
const/4 v10, 0x2
goto :goto_471
.line 13936
:cond_496
const/4 v2, 0x3 (0x1)
if-le v12, v2, :cond_49b
.line 13937
move v10, v12
goto :goto_471
.line 13939
:cond_49b
const/4 v2, 0x1
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->pendingUiClean:Z
.line 13940
const/4 v2, 0x3 (0x1)
if-le v10, v2, :cond_471
.line 13941
const/4 v10, 0x3 (0x1)
goto :goto_471
.line 13995
.end local v3 #client:Lcom/android/server/am/ProcessRecord;
.end local v4 #myHiddenAdj:I
.end local v11 #adjType:Ljava/lang/String;
.end local v12 #clientAdj:I
.end local v13 #clist:Ljava/util/ArrayList;,"Ljava/util/ArrayList<lcom android="" server="" am="" connectionrecord;="">;"
.end local v15 #cr:Lcom/android/server/am/ConnectionRecord;
.end local v17 #i:I
.end local v22 #kt:Ljava/util/Iterator;,"Ljava/util/Iterator<ljava util="" arraylist<lcom="" android="" server="" am="" connectionrecord;="">;>;"
.end local v26 #s:Lcom/android/server/am/ServiceRecord;
:cond_4a5
move/from16 v0, p2
if-le v10, v0, :cond_4b6
.line 13996
move/from16 v10, p2
.line 13997
const/4 v2, 0x0
move-object/from16 v0, p1
iput-boolean v2, v0, Lcom/android/server/am/ProcessRecord;->hidden:Z
.line 13998
const-string v2, "bg-services"
========================
Save it.
Step 6. Go back to the dos/command prompt and type: java -Xmx512M -jar smali.jar classout -o classes.dex (this creates classes.dex)
............ ODEX ROMS: Type the same command as above.
Step 7. Open up services.jar with 7zip or WinRAR (you will see a classes.dex file inside) and drag the newly created classes.dex into the window to refresh services.jar with the new classes.dex
............ Mount system as read/write. Open up terminal and type: su, enter, busybox mount -o remount,rw /system
............ ODEX ROMS: Do the above steps (though there won't be an existing classes.dex - just add it anyway) and then do the following, edited segment from the services.odex hacking guide:
Copy the new services.jar file into the root of your phone's sd card.
software_samurai said:
Create a new services.odex file from the new services.jar file:
In terminal, type: cd /sdcard, enter, dexopt-wrapper services.jar services.odex $BOOTCLASSPATH, enter.
Here's the "special sauce": copy over the "signature" from the current .odex file into the new .odex file. do NOT continue until this command succeeds!
Hint: the file size of the new services.odex file should not change!
In terminal, type: busybox dd if=/system/framework/services.odex of=/sdcard/services.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
Click to expand...
Click to collapse
Now copy /sdcard/services.odex to /system/framework and overwrite the original (backed up, yes?) services.odex
Go to Step 9
Step 8. Copy the new services.jar into your /system/framework folder.
............ ODEX ROMS: SKIP this step!
Step 9. a. In terminal type: cd /system/framework, enter, chown 0.0 services.jar, enter, chmod 644 services.jar, enter
................ ODEX ROMS: In terminal do: cd /system/framework, enter, chown 0.0 services.odex, enter, chmod 644 services.odex, enter
............ b. OR... you can just put it into a copy of your rom and flash that!
Step 10. SuperClean & ReStart! (ie. Wipe Dalvik Cache & Reboot)
========================================================
It was a pain in the ass to find because the settings that get applied actually ignore any setting that is given.
It's all over-ridden by a calculated routine
So I just turned the tables to have it over-ride settings to be SuperCharged
Remember that you will still need to run V6 SuperCharger to get your minfrees and grouping fix/adj limits in place.
Was this useful info? If so...
Please HIT THANKS and Give a 5 Star Rating!

[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
So here's how it all started... don't worry if you don't understand it... the script does everything!
So... recently I came across/figured out some pretty neat stuff to make my Milestone run incredibly well.
Fast, Stable, and Smooth. FSS... heh... my Milestone used to make me say FFS too often... lol
In Part 2, you will find a way to make your launcher bulletproof!
What's that mean? No more screen redraws! AT ALL - I'm pretty sure
History Part 1. How To Control Android's Memory Manager via minfree
This revolves around Android's built-in memory manager/task killer.
I had been using Auto Memory Manager (AMM) with great results. AutoKiller Memory Optimizer (AKMO) had worked just as well.
These are NOT taskillers! (And neither is my SuperCharger )
They tweak Android's native memory management system by editing /sys/module/lowmemorykiller/parameters/minfree
This is a "dynamic" file that gets created on boot.
There is an in-depth thread that you can read right here on XDA: How to configure Android's *internal* taskkiller
Android puts each running app into 1 of 6 Out Of Memory (OOM) groups based on their priority.
FOREGROUND_APP, VISIBLE_APP, SECONDARY_SERVER, HIDDEN_APP, CONTENT_PROVIDER, and EMPTY_APP.
Additional Info: You can find each app's priority and OOM.
....................... In AMM, Press Menu > Running Processes > Group by OOM grouping.
....................... Expand each group and see what apps are included and each app's priority level. (Higher numbers get killed first!)
....................... If you tap on an app, you can get additional info. Tip: Check and see what's included with android.process.acore
The default minfree values ("kill thresholds") for each OOM group are, as far as I can tell: 6, 8, 16, 20, 22 and 24 mb. (CyanogenMod 6.1.2)
This means that: when free memory lowers to 24 mb, EMPTY_APPS get killed; at 22 mb free ram, CONTENT_PROVIDER apps get killed; and so on...
Now, because the Milestone has only 256 mb of memory, I found these numbers too low, especially the 3rd one.
Basically, with those settings, you will usually be sitting with only 20 - 25 mb of ram.
Possibly less. Basically, it's the 3rd number (16) + 5. That's your free memory.
And my phone just chokes when it has that little ram available. Lag, home screen redrawing, the launcher getting killed.... ugh....
After extensive fiddling around, I've come to the conclusion that setting the third slot to about 25mb works great.
No home screen redraws while not being too aggressive on secondary/background apps while having about 30-35mb free all the time
BTW, free ram is not wasted. Android will use that memory to cache the file system and this speeds things up. See this informative post.
My other key settings were:
VM Heap Size = 48 mb.
Home Locked in Memory (not anymore due to my OOM Grouping Fix)
JIT enabled - You can try it on or off and decide what you like better (JIT uses some extra memory but makes the CPU more efficient)
Overclocked to [email protected] vsel.
About VM Heap size. 40 mb should be enough.
Actually, to prevent your launcher from splitting into 2 virtual machines, you should make it at around 40 mb.
I'm no expert about it, but that is the experience of others. (I've never tried it at 32 mb or below )
History Part 2. How To Control Your Launcher Redraws by Making It Bulletproof!
Most of you know about CM's "Lock Home In Memory" setting and how we would still get screen redraws after enabling it.
My suggested AMM settings above should be enough prevent that. You should hardly ever get screen redraws anymore.
But some people were still getting them.
I tried increasing the appropriate priority (for android.process.acore - which includes com.android.launcher) in AMM but the setting wouldn't "stick"
Android would revert it back to where it was - in the Visible App group with a priority of 1.
I had seen how foreground apps had a priority of 0 or -12 or -16 and I came up with a permanent solution - "The Bulletproof Launcher"
Here's how you can have a Bulletproof Launcher!
The line "ro.HOME_APP_ADJ=1" in /data/local.prop also keeps home in memory - it has the same effect as CM's "Lock Home In Memory".
So in light of what I was seeing in AMM, I have changed it to 0 so it now reads:
ro.HOME_APP_ADJ=0
(blank line)
Note: If there isn't a blank line at the end, the ro.HOME_APP_ADJ entry gets deleted.
If you do this and reboot, AMM may still show that android.process.acore (or whereever your launcher is) with a priority of 1
If that's the case, disabled CM's setting to lock home in memory.
Now, if you go back to AMM, you should see that android.process.acore is now a foreground app with a priority of 0... BOOYA!
Notes: Obviously, CM's "Lock Home In Memory" overrides the setting in local.prop.
.......... CM will set the priority back to 1 after local.prop gives a priority of 0.
.......... That's why CM's setting has to be disabled - so that the local.prop setting will "stick"
.......... Gaming Tip - You can use CM's lock home in memory as a "Safety Lock" - to toggle your launcher from Bulletproof (0) to Killable (1)
............................. If having problems with a game, put the "Safety Lock" on so the launcher is "killable" so android can free up some extra ram.
Note that BulletProofing is NO LONGER RECOMMENDED! The Hard To Kill Launcher is the PERFECT SOLUTION!
History Part 3. Blah Blah Blah...
Interesting Notes: I had installed the Telus Froyo Update yesterday (03/25/11) and still have it installed.
.......................... Only now did I think to look at the minfree values
.......................... 8, 12, 24, 28, 32, 32 <--- Telus Froyo. I'm a little shocked by the 3rd slot, 24mb?!
.......................... 6, 8, 24, 26, 28, 30 <----- See, I'm not crazy! Telus Froyo values are very similar to my Balanced Settings
.......................... In comparison, my Balanced script keeps your foreground apps alive longer, same free ram & more friendly to background apps!
.......................... For completeness:
.......................... 6, 8, 16, 20, 22, 24 <---- CM6 (Froyo)
.......................... 6, 8, 12, 16, 24, 32 <---- CM7 (Gingerbread)
.......................... 8, 12, 16, 24, 28, 32 <--- Google's Gingbread values, according to this.
Moved from OP (old Change Log)
UPDATED July 21, 2011: - Update 8
Improved code
Tweaked Current Status functionality. It will tell you if your current and prior minfrees match but if you apply a setting, it won't update the "prior minfrees" with the values you just installed. It will update the prior minfrees the next time you run the script.
UPDATED July 18, 2011: - Update 7
Tweaked Status Checker. Update 6 sometimes gave wrong launcher status
UPDATED July 16, 2011: - Update 6
Added Second MegaRAM device setting.
Added installation to system option - for easy use with Terminal Emulator!
Added UnSuperCharger verification
Improved status checker. It can sometimes determine if home is locked in memory! If not, it asks you if it is.
Saves SuperCharger settings! - They are displayed on the main menu if they exist.
Saves Cust-OOM settings! - Cust-OOM settings get added to the menu!
Smart Cust-OOMizer - Just try it
Improved the code some more. It's smarter than ever
Improved messages to user. Clearer instructions and errors are given!
Final attempt to get this to load on boot. Custom ROMs will now get the /data/userinit.sh and /data/99SuperCharger.sh files.
Easily cook into your rom! Just change the variable (rcpath=) on line 116 to the path of your *rc file!
1224 lines of code!
UPDATED June 29, 2011: - Update 5
Removed 2 minute delay from userinit.sh. Sorry, I didn't know that it would pause the boot process on some phones/roms
UPDATED June 26, 2011: - Update 4
Fixed issue with error check - commented it out as it would stop the script dead on some roms
Improved Status Checker some more
Improved the code. The script is much smarter, cleaner and efficient (no more temp files)
1001 lines of code!
UPDATED June 25, 2011: - Update 3b
Pulled earlier Update 3 - fixed minor noticeable errors and one HUGE one that went unnoticed...
UPDATED June 25, 2011: - Update 3 -PULLED
Added error check that exits script on any error
Tweaked OOM groupings/priorities (Froyo is the same as always, Gingerbread now takes into account Perceptible App)
Improved Status Checker
ReReFixed!? userinit.sh now used as a launcher for 99SuperCharger - with a 2 minute delay! (This boot script fix HAS to work )
Fixed sysctl error on some phone configurations
UPDATED June 20, 2011: - Update 2
Added User Selectable Scrolling Speed!
Fixed a couple of weird issues that some people had in yesterday's update
ReFixed? Still trying to get the 99SuperCharger boot script to load automatically for everybody... grrrrr...
UPDATED June 19, 2011: - Update 1
Added MegaMemory Device setting!
Fixed formatting for Script Manager update (40 columns)
Fixed (I hope) boot script not booting on many ROMs
Fixed long press back button kill (wasn't working)
Modified OOM groupings/priorities: Nothing breaks... EVER!
Improved the help html files
Was this useful info? If so...
Please HIT THANKS and Give a 5 Star Rating!

[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
Dunno what happened... the real OP and Post 4 got switched
So feel free to hit the thanks button on the "OP" again... LOL
Actually, Post 3 got somehow moved to Post 5 too.
So I dunno what's going on...
But at least Post 2 is still in the right place!
Easy as 4, 2, 5, 1, 3!
Oh and posts 6 through to 16,878 seem to be in the right order!

[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
Reserved reserved

Nice tips, zeppelin. The settings have much improved the performance of my Milestone, but I am still getting occasional redraws with LPP. Free RAM is usually between 38MB and 45MB, using VM Heap of 40M and your 6,10,24,40,50,60 settings for AMM.
EDIT: Also, when I add the ro.HOME_APP_ADJ=-1 line to the /data/local.prop file, after a reboot that line has disappeared from the file.

-SAIUN- said:
EDIT: Also, when I add the ro.HOME_APP_ADJ=-1 line to the /data/local.prop file, after a reboot that line has disappeared from the file.
Click to expand...
Click to collapse
For that, make sure you have a empty line at the end of the file (hit enter after entering the home_app line). This would make it not go away after reboot.
Sent from my Milestone using Tapatalk

How do I check what ade the currently minfree values on the system? I supose you don't have to reboot for the settings to go into effect, right?
Sent from my Milestone using Tapatalk

afadel said:
How do I check what ade the currently minfree values on the system? I supose you don't have to reboot for the settings to go into effect, right?
Sent from my Milestone using Tapatalk
Click to expand...
Click to collapse
Thanks for the empty line tip. I forgot about that
AMM displays your current values whenever you run it.
EDIT: NO It does NOT... oops AKMO does though.
I was under the impression that a reboot is required. I'll look into that further.
Let me know how it works for you.
Sent from my Milestone using Tapatalk
Edit: The local.prop edit requires reboot.
........AMM (or AKMO) and the disabling CM's lock home in memory setting do not require a reboot. So you can tweak AMM's settings on the fly!

You can check minfree using gscript running with root priviledge and the following command
cat /sys/module/lowmemorykiller/parameters/minfree
this shows you the values in pages, I believe it are 4Kbytes pages.

nice.
Yes minfree's values are in pages and 1 page = 4kbytes.
24mb would show as 6144.
ie. 6144*4/1024=24
-SAIUN- said:
Nice tips, zeppelin. The settings have much improved the performance of my Milestone, but I am still getting occasional redraws with LPP. Free RAM is usually between 38MB and 45MB, using VM Heap of 40M and your 6,10,24,40,50,60 settings for AMM.
EDIT: Also, when I add the ro.HOME_APP_ADJ=-1 line to the /data/local.prop file, after a reboot that line has disappeared from the file.
Click to expand...
Click to collapse
Yes see afadel's post after yours regarding the local.prop edit.
Hit enter so that you have an empty line at the end.
You're still getting redraws because the "bulletproof launcher" entry got deleted. Damn kryptonite!
I edited the OP accordingly.
Also, after you get the local.prop file working properly, see how much free ram you have at that time.
I'm thinking that you currently have 45mb free because the launcher is still getting killed.
So, if it doesn't get killed, it should be more like 30-35 mb free.
Now if you aren't getting redraws (launcher is kept alive) and your ram is still 40-45mb free, you can probably lower the 3rd value from 24 to 20.

Hello, nice tips
In my MM I had to change some the cache, using 40m is too much because phone is slowly, I notice it have low memory than using the standard memory configuration (28m in APAC) but I changed to 24m as I had in 2.1u1.
In normal use I have now 32MB free but setting to aggresive mode it goes to 40MB free.
The problem using aggresive mode is that if you are looking into maps and change to make some sum (i.e. using realcalc) you lost maps ubication, or if you return to maps you lost the state of other programs, so kernel kill the program.
Regards,
Claudio.

clmta said:
Hello, nice tips
In my MM I had to change some the cache, using 40m is too much because phone is slowly, I notice it have low memory than using the standard memory configuration (28m in APAC) but I changed to 24m as I had in 2.1u1.
Click to expand...
Click to collapse
Are you referring to VM Heap size?
I'm pretty sure now that VM heap size shouldn't really affect free ram.
But if it's too big, small apps will lag and if it's too small, large apps will lag.
I recommended 40mb because it would prevent most launchers from splitting into 2 virtual machines.
clmta said:
In normal use I have now 32MB free but setting to aggresive mode it goes to 40MB free.
The problem using aggresive mode is that if you are looking into maps and change to make some sum (i.e. using realcalc) you lost maps ubication, or if you return to maps you lost the state of other programs, so kernel kill the program.
Regards,
Claudio.
Click to expand...
Click to collapse
I guess here you are referring to AMM's aggressive settings?
The second number in AMM's aggressive settings is 12, which would make visible apps more likely to get killed than the 10 mb I suggested.
Come to think of it, perhaps I will test with that set to the default 8 mb ie. 6, 8, 24, 40, 50, 60

Im currently running 6,8,16,40,50,60. Is that crazy? XD
Btw one question, I posted in cm7 thread but no answer . Can I change this values without using AMM(uninstalled)? I mean, change it from Root Explorer, and settings would be the same after rebooting?

lol no you're not crazy.
Like I said, I may tinker a little more with my settings - 6, 8, 24, 40, 50, 60 is not that different from yours.
I was testing 6, 10, 20, 40, 50, 60 this afternoon but I didn't like it too much.
Sorry, I hadn't visited the the CM7 thread in a few hours.
I usually save that one till last because it always has some good reading lol.
But yes, you can edit the same file that gets edited by AOR's memory manager:
/system/etc/init.d/99complete
Be sure to get the permissions right.
I cheat and use SuperManager
Edit: Permissions for 99complete = chmod 755 /system/etc/init.d/99complete

zeppelinrox said:
lol no you're not crazy.
Like I said, I may tinker a little more with my settings - 6, 8, 24, 40, 50, 60 is not that different from yours.
I was testing 6, 10, 20, 40, 50, 60 this afternoon but I didn't like it too much.
Sorry, I hadn't visited the the CM7 thread in a few hours.
I usually save that one till last because it always has some good reading lol.
But yes, you can edit the same file that gets edited by AOR's memory manager:
/system/etc/init.d/99complete
Be sure to get the permissions right.
I cheat and use SuperManager
Click to expand...
Click to collapse
And right permissions are? Im newbie with them xD.
With 16 I don't get FCs in apps I'm using. I did this because I read a tutorial for AMM, and realized that these numbers (6,8 etc) are RAM, and when system reaches 16mb, it will FC the secondary server (i guess that is, lets say game or something? Am I wrong?)
Edit: wtf I don't have a 99complete .

99complete for your settings of: 6,8,16,40,50,60
Code:
#/sbin/sh
echo "1536,2048,4096,10240,12800,15360" > /sys/module/lowmemorykiller/parameters/minfree
I attached it as well - just remove the .txt extension.
Permissions are the same as 10overclock ie.
Edit: The hard core way ---> chmod 755 /system/etc/init.d/99complete

zeppelinrox said:
Are you referring to VM Heap size?
I'm pretty sure now that VM heap size shouldn't really affect free ram.
But if it's too big, small apps will lag and if it's too small, large apps will lag.
I recommended 40mb because it would prevent most launchers from splitting into 2 virtual machines.
Click to expand...
Click to collapse
ok, I understand the point now. I checked now and I saw 2 LauncherPro running, so I will make some tests to try to put them in only one VM.
Regards.

And what's the advantage of having the app running in one process only?
Sent from my Milestone using Tapatalk

After reading this page, I was under the impression that it's less efficient and that memory is wasted.
aph said:
In my testing ADW Ex needs at least 38mb to run totally smoothly so I set mine to 40 mb. Interesting that it splits itself into 2 separate processes to get around the heap size issue but still runs into it.
Click to expand...
Click to collapse
martino2k6 said:
If the two processes are running in the same virtual machine they should share the same memory space though. I mean, two different applications will run in different VMs, however even if one application requests to create a second process they will still be in the same VM.
I may be wrong, but this was my understanding behind it.
Click to expand...
Click to collapse
aph said:
System Panel only shows 1 of the 2, the one that uses less memory. Out of its consumption of 30mb only 10mb is shared, presumably with the one that uses 38mb that OS Monitor shows.
I've seen the larger process go up to 39mb after watching it a bit more. Also, Facebook will take as much as it can get, easily 50mb+.
Click to expand...
Click to collapse
Is my conclusion correct, or not so much?

Related

[ROM](Updated 10-28-10) SouthPaw! Version 2.1 - Final

SouthPaw Version 2.1 - Final Deodex​
***Two Versions - Odex(to come soon) and Deodex***
Click to expand...
Click to collapse
Odex for pure speed, and Deodex for themes
Latest A2SD built right in. NO config needed -- Bloat removed for speed
Click to expand...
Click to collapse
No Longer a specific Cellular South based rom! Any carrier using a Hero can run this Rom!
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Removed Apps:​- AmazonMp3 - DiscoverCenter - Flickr - GoogleSkyMap - HTCFootprintsLayar - LearnMore - Movies - Stocks - Teeter - Textcs - Twitter - Various HTC Widgets (will have download links tonight)​
Themes:
To use these you will need Metamorph.
Metamorph - Link to Market (go from phone browser) Metamorph
QRCode for Metamorph(use barcode scanner)
The Blue Echo
Made by Pappa Smurf, ported to our rom from Leadfoot
http://www.mediafire.com/?buacudiq2if9kti
Must install metamorph from market before using these themes.
NOT COMPATIBLE WITH ODEX VERSION!
"to apply. simply download then put on SD card in folder called AndroidThemes. then go to metamorph click "start checks" then "unzip new theme" click on "TheBlueEcho" zip file. then just do it like the other theme. it can go right over it no need to wipe or recover anything. thats the great thing bout metamorph just as always make sure you nand backup just in case." -leadfoot9281
Click to expand...
Click to collapse
Red Dawn Theme:
By Pappa Smurf, converted to our rom by Leadfoot:
http://www.mediafire.com/?tuc8xlwb61e98wm
after you metamorph this call sombody without a picture, if the little android guy is blue and you want him red metamorph this.
http://www.mediafire.com/?71tw4etfslasd96
for the market- NOT A METAMORPH FILE MUST BE PUSHED WITH ADB
**EDIT ... took market down til I can fix.
i would recommend doin a nand backup before pushing this. i pushed it 4 times to my phone. 3 of those times it worked fine. the one time it didnt work i have no idea why as i didnt do anything different.
to push this go to adb shell and type :
mount -o rm,remount -t yaffs2 /dev/block/mtdblock3 /system
now back put of shell and put the Vending.apk into the push folder. now you will type :
cd push
adb push HtcDialer.apk /system/app
....................now your done.
A majority of this theme is from papasmurfs RedDawn with a few tweaks of my own and some random icons i have ran across place to place. i cant take the credit for this other than i test each thing and make sure it functions and get it to work for a stock rom (like this one) and simply put it together.
BTW: no FC's for contacts or contact widgets on this one. thats what took so long lol.... only issue i know of is setting up speed dial. other than that, all of it works. been using it a few days now. If you run into anything let me know and i will see what i can come up with. - Leadfoot
Click to expand...
Click to collapse
Flipping Animations (Metamorph)
***If it messes up, you WILL bootloop. This MAY work with odex but not sure yet. BEST DO A NANDROID PRIOR TO USING THIS METAMORPH FILE!!!***
Download:
http://www.mediafire.com/?mn883l6v0i6nhaa
Click to expand...
Click to collapse
Alternative Weather Clock (Metamorph)
Download: http://www.mediafire.com/?3hajyxj1g9dpahe
***NOT A FLASHABLE ZIP!/NOT COMPATIBLE WITH ODEX ROM!!!***
Extract zip file to the AndroidThemes folder on your sdcard after installing metamorph, and use metamorph to apply it. It says to restart after applying, but no need to do so.
Click to expand...
Click to collapse
Black Haptic Dialer (Flashable Zip NOT a metamorph!)
http://www.mediafire.com/?2d1jewavnhytd9f
Click to expand...
Click to collapse
Where to download:
SouthPawV-2.1-Final
Deodex: http://www.mediafire.com/?n55a39vc4loetcl
MD5: 4892e91d8af0db765d74741be2db02cd
Bloat download: http://www.mediafire.com/?uo9oja1q7x6zb59
**Bloat download NOT flashable. Push via adb**
(SP-2.0 Final Links)
***Odex is FASTER than de-odex, but is NOT THEMABLE!***
http://www.mediafire.com/?jcl2i8mzlfw1glu
MD5 Sum:d2569d8b937266b2873251bfa556c6e2 SouthPawV2-Final-Odex.zip
***DeOdex is not quite as fast but still mighty fast, lightweight and best of all.. THEMEABLE!!!***
http://www.mediafire.com/?004a3qv0xw0jjat
MD5 Sum:6abe77ca31494cb314c8076117925e81 SouthPawV2-Deodex.zip
Click to expand...
Click to collapse
For Colin_ph users!
The bf/adnan kernels can't be used with the regular version of collin_ph battery mod. You have to use the edited version below and change your governer to the settings shown below.
http://github.com/Decad3nce/battery-...5d1156014134c2
"Recommended Settings for Tweak:
For BFS Kernel:
CPU Governor: Ondemand
I/O Scheduler: deadline/cfq
For CFS Kernel:
CPU Governor: Interactive
I/O Scheduler: deadline/noop"
To change the governor, look into the 2nd post for instructions.
Click to expand...
Click to collapse
For the future: For later updates you can find it all here in the SouthPaw folder:
http://www.mediafire.com/?ye6pbkdgps4b5
This is where the flashable add ons will be soon as well.
***Updaters***
Do not update over previous rom! Backup/Nandroid, and then wipe and flash!
***Thanks N Applause***
leadfoot - thank you for porting that theme!
dsixda - Without your kitchen this wouldn't be possible. F*ing clean software man.
Darchstar - For the Kernel. Awesome man awesome!
Collin_ph - Any extra battery life is great!
JsChiSurf - Love your dialer. Sry I didn't ask before adding it to this rom but didn't figure it would be a big deal.
MrDanger - Your rom is lookin' good. And thanks for helping my users out here and there too.
KyleIsTheBeast - For my first rom ever flashed. Bittersweet was good while it lasted and hope to see you dev'ing in the future.[/SIZE]
Reserved for the Red Corner!
***Issues found!***
none yet.
***How to check the MD5 Hash***
Windows (and mac) users:
1. download Hashtag, a free md5 file hash check utility from here: http://beeblebrox.org/hashtab/
2. After downloading and installing, just right click on any file. On Windows, select properties and you will see a new "File Hashes" tab. On Mac select "File Hashes" (on 10.5 the "File Hashes" menu item will be found under the "More" submenu). This is will start HashTab providing more or less the same view that you see on Windows. This File Hashes window displays all the hashes for the file.
3. Check the hash to make sure it's the same big jumble of numbers and letters as the hash above. If it is not the same, the download is bad and you should redownload the file.
Linux users:
1. go into your linux terminal or shell (not the adb shell)
2. navigate to the folder that contains the rom (mine is in downloads, so you would type 'cd Downloads')
3. for my rom, type 'md5sum SouthPawV1.5Final.zip
4. the output should look as shown:
Code:
OUTPUT_ZIP$ md5sum SouthPawV1.5Final.zip
F0D9E1F279FA7B0FA8636616499CD0C8 SouthPawV2.0-Beta.zip
[email protected]:~/Desktop/kitchen/OUTPUT_ZIP$
Installation:
***for newbies, see the second post under "How to root/maximizing my rom experience"***
1. Nandroid
2. Wipe
3. Flash
4. After install see configuring a2sd for more memory on the phone and JIT/Swap configuration in 2nd post! (and possibly a faster phone if you have a class 4 or higher memory card)
Bloated apps can be re-downloaded here: http://www.mediafire.com/?7ektxbiq0h65ftr
***Radio***
Also removed the Radio.img file. If you want the file you can download it here:http://www.mediafire.com/file/u2z11ar9ga6qn3a/CSouth_Radio_Signed.zip
MD5 Hash: 9157b63be585abef5812f71691cc4899
*You do not need to be flashing this file if it's already updated because that is the one file that CAN brick your phone if it's corrupted. ALSO if you ARE downloading this file, CHECK THE MD5 hash! Instructions above. It could mean the difference between a happy updated phone and a BRICKED phone.*
***How to root and Maximizing your rom experiance***
I hold no responsibility for any actions resulting from these links and/or this post.
How to root your CS Hero. Read first post, it describes everything
http://forum.xda-developers.com/showthread.php?t=581869
***How to flash any rom***
After rooting your phone to install any rom (not just mine)
1. backup everything if you have not already done so, you will lose EVERYTHING on the phone itself, (except for everything on the memory card)
1a. download my rom or another rom (as long as it's for your phone and radio)
1b. place the rom in the root directory (or the main directory rather) of your sdcard.
2. Turn the phone off
3. While holding the home button, press the power button until you see the recovery mode menu. (I am using clockwork mod 2.5.0.1 so depending on your recovery YMMV. You should use the instructions for your specific recovery system. They are using Darch's version of AmonRA's recovery, This is covered in the first post on that link as well.)
If you are using Clockwork Mod, you can use these instructions:
4. go to wipe data/factory reset and go to yes to start the wipe.
5. scroll down to wipe cache partition, and confirm
6. scroll down to advanced and wipe dalvik cache.
7. After that, scroll down to "install zip from sdcard"
8. select choose zip from sdcard
9. select the rom file from the memory card (mine will be SouthPAW!1.5-Final) and confirm to flash it.
10. Once the flash is done, reboot the phone. It's going to take between 5 and 10 minutes to boot the first time so be patient, and don't mess with it. After you get in you are golden, and nothing else is to be done. You have made it..
***how to maximize your battery performance***
This rom comes with an overclocked kernel that automatically sets itself to maximize battery life. But there are things you can set to make the kernel do what you want
***Kernel parameters***
You don't have to use any overclocking software to set the speed of the processor with this kernel Here is the parameters:
Syntax: echo "(speed in hz)" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Example:
echo "768000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Click to expand...
Click to collapse
Sets the cpu to max out at 768mhz
echo "710000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Click to expand...
Click to collapse
Sets the cpu to max out at 710mhz
Also...
If your gps quit working for some reason do this:
mount -t debugfs none /sys/kernel/debug
echo "NORMALIZED_SLEEPER" > /sys/kernel/debug/sched_features
echo "NEW_FAIR_SLEEPERS" > /sys/kernel/debug/sched_features
Click to expand...
Click to collapse
To change the cpu governors for this kernel (the built in ones) here is how:
Type this to find the available governors:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Click to expand...
Click to collapse
The ones available are:
conservative
ondemand
userspace
powersave
performance
interactive
And then to change the governor, you type this:
echo "nameofgovernor" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
I haven't found full explanation on ALL the governors, but I guess it's a no brainer, however here is the info I pulled off of the kernel thread:
(For Interactive governor)
This governor is designed for latency sensitive workloads, UI interaction for
example.
Advantages:
+ significantly more responsive to ramp cpu up when required (UI interaction)
+ more consistent ramping, existing governors do their cpu load sampling in a
workqueue context, the 'interactive' governor does this in a timer context, which
gives more consistent cpu load sampling.
+ higher priority for cpu frequency increase, rt_workqueue is used for scaling
up, giving the remaining tasks the cpu performance benefit, unlike existing
governors which schedule rampup work to occur after your performance starved
tasks have completed.
Existing governors sample cpu load at a particular rate, typically
every X ms. Which can lead to under powering UI threads when the user has
interacted with an idle system until the next sample period happns.
The 'interactive' governor has a different approach. Instead of sampling the cpu
at a specified rate, the governor will scale the cpu frequency up when coming
out of idle. When the cpu comes out of idle, a timer is configured to fire
within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer
fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
to.
There is only one tuneable for this governor:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_rate:
The minimum ammount of time to spend at the current frequency before
ramping down. This is to ensure that the governor has seen enough
historic cpu load data to determine the appropriate workload.
Default is 5000 uS.
Click to expand...
Click to collapse
One last thing is that this kernel keeps logs. Even though they are hard to read if you want to see them, type this:
adb remount
adb pull /proc/last_kmsg last_kmesg.txt
Click to expand...
Click to collapse
***how to partition for apps2sd for Amon Ra's Recovery and Cyanogen's Clockwork Mod Recovery***
Instruction Source: http://www.villainrom.co.uk/wiki/index.php?title=Apps2SD#Normal_Installation
How to Setup SD card partitions from AmonRa's Recovery:
1. backup your stuff on your memory card. It is very possible that this will erase everything on your memory card.
2. Shut down the phone
3. Press and hold the home button while pressing the power button. Keep holding the home button until you get to the recovery menu.
4. Select Partition sdcard
5. Select Partition SD
6. Set the following partition sizes using the trackball or volume buttons:
-ext: 512MB - recommended. You will feel like you can install everything from the market.
-swap: none -not a prerequisite but recommended. use at least 30mb.
-fat: remaining
7. Reboot the phone. It may take a little while for boot to finish on this boot only.
How to Setup SD card partitions from Clockworkmod Recovery:
***Do not partition with Clockwork mod. There are some issues that I have read that will mess up your install***
There are alternative methods for this, but it's just easier to use Amon_Ra's image for this.
***How to setup a2sd/Swap/JIT***
A2SD is already enabled by default on this rom. However Swap and dalvik to sd is not!
To get swap working (if you made a swap partition on your sd card)
1. get to adb
2. adb remount
3. adb shell
4. a2sd reswap
To move Dalvik cache to sd -
5. a2sd cachesd
VOILA! 149MB free on the phone! *w00t*
Also there is more config you could do here. You can enable JIT *dunno if it works, so add at your own risk*
***More info for a2sd configuration***
Code:
Standard Apps2SD Commands:
--------------------------------------------------
reinstall
Moves free and paid apps to the ext2/ext3/ext4 partition on your secure digital card. Removes the No A2SD flag file.
This is used if you have already executed an a2sd remove command. Otherwise, this part is automatically performed when Apps2SD is started.
File removed: /data/.noa2sd
remove
Moves free and paid apps to the internal phone storage. Creates the No A2SD flag file.
File created: /data/.noa2sd
Swap Partition Commands:
--------------------------------------------------
reswap
Removes the No Swap flag. Allows A2SD to activate the swap partition.
This is used if you have already executed an a2sd noswap command. Otherwise, this part is automatically performed when Apps2SD is started. Note: This command has no effect on roms where the swap space is not built into the kernel.
File removed: /data/.noswap
noswap
Creates the No Swap flag. Prevents A2SD from activating the swap partition. Note: This command has no effect on roms where the swap space is not built into the kernel.
File created: /data/.noswap
swappyxx
Sets the swappiness setting for the swap file. xx sets the swappiness percentage used. (i.e. to set swappiness to 30%, type a2sd swappy30.
Dalvik Cache Commands:
--------------------------------------------------
cachesd
Moves Dalvik cache files to the ext2/ext3/ext4 partition on your secure digital card. Creates Dalvik Cache to SD flag.
Caution: If your phone fails to mount the ext2/ext3/ext4 partition and your dalvik-cache is pointed to the SD card, you will likely end up in a boot loop. Execute a2sd nocache from adb shell to rectify the issue.
File created: /data/.dalvikcacahe
File removed: /data/.dcpartition
cachesdreset
Same as cachesd above, but erases the contents of the dalvik-cache after move. This performs both the a2sd cachesd and a2sd resetcache all in one command.
File removed: /data/.dcpartition
cachepart
Moves Dalvik cache files to the /cache partition in your phone. Creates Dalvik Cache to Cache Partition flag.
Caution: Some phones do not have enough space to put the dalvik-cache on the cache partition. Also, some roms that have SenseUI installed may not work well with the dalvik-cache on the cache partition (although this issue appears to be fixed starting with Darktremor 2.7.5.1). If you experience issues such as force closes, try moving the dalvik-cache to the SD card (a2sd cachesd) or internal storage (a2sd nocache) instead.
File created: /data/.dcpartition
File removed: /data/.dalvikcache
cachepartreset
Same as cachepart above, but erases the contents of the dalvik-cache after move. This performs both the a2sd cachepart and a2sd resetcache all in one command.
File removed: /data/.dalvikcache
nocache
Moves Dalvik cache files to the internal phone storage. Removes all Dalvik Cache flags.
File removed: /data/.dcpartition, /data/.dalvikcache
nocachereset
Same as nocache above, but erases the contents of the dalvik-cache after move. This performs both the a2sd nocache and a2sd resetcache all in one command.
File removed: /data/.dcpartition. /data/.dalvikcache
resetcache
Clears the dalvik cache and restarts phone.
Apps2SD Diagnostic Commands:
--------------------------------------------------
check
Performs a symlink and flag file check on your setup. Outputs a report that shows you if
there are issues with your Apps2SD setup.
repair
Performs a repair of all symlinks based on flag file activation.
diskspace
Shows disk space statistics for the ext partition.
sysinfo
Displays information about your phone, partitions, swap, and more.
Also writes a dump file that has an entire profile of your phone. This is for troubleshooting only.
File Created: /data/dtsysdump.txt
swapspace
Shows swap space statistics for all swap space active on the phone. Note: This command has no effect on roms where the swap space is not built into the kernel.
ZipAlign Commands:
--------------------------------------------------
align
Performs a one-time zipalign on all APK files in /data/app and /data/app-private.
zipalign
Allows ZipAlign to execute during the boot process. Creates the ZipAlign flag file.
File Created: /data/.zipalign
nozipalign
Prevents ZipAlign from executing during the boot process. Removes the ZipAlign flag file.
File Removed: /data/.zipalign
Dalvik Setting Commands:
--------------------------------------------------
jit
Installs DalvikVM JIT.
WARNING: Do not run this command if your phone has NAND protection active.
nojit
Removes DalvikVM JIT.
WARNING: Do not run this command if your phone has NAND protection active.
defaultheap
Resets the Dalvik heap size to the default heap size.
File Removed: /data/.smallheap, /data/.largeheap, /data/.jumboheap
heapsizexx
Sets the dalvik heap size to xx. For example, to set the dalvik cache to 24mb, type a2sd heapsize24. To reset back to default, type a2sd heapsize0 (that's a zero, not the letter "o")
Low Memory Killer Commands:
----------------------------------------------------
lowmem-moderate
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 7680 pages / 30 MB
Content Provider: 8960 pages / 35 MB
Empty App: 10240 pages / 40 MB
Create File: /data/.lmmoderate
Remove File: /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme
lowmem-optimum
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 10240 pages / 40 MB
Content Provider: 12800 pages / 50 MB
Empty App: 15360 pages / 60 MB
Create File: /data/.lmoptimum
Remove File: /data/.lmmoderate, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme
lowmem-strict
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 15360 pages / 60 MB
Content Provider: 17920 pages / 70 MB
Empty App: 20480 pages / 80 MB
Create File: /data/.lmstrict
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme
lowmem-aggressive
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 21000 pages / 82 MB
Content Provider: 23000 pages / 90 MB
Empty App: 25000 pages / 98 MB
Create File: /data/.lmaggressive
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmextreme, /data/.lmultimate
lowmem-extreme
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 38400 pages / 150 MB
Content Provider: 40960 pages / 160 MB
Empty App: 43520 pages / 170 MB
Create File: /data/.lmextreme
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate
lowmem-ultimate
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 51200 pages / 200 MB
Content Provider: 57600 pages / 225 MB
Empty App: 64000 pages / 250 MB
Create File: /data/.lmultimate
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmextreme
lowmem-default
Sets the internal memory killer back to phone default settings.
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmextreme, /data/.lmultimate
***How to push an apk file using adb***
*Of course you have to have a rooted phone to do this, if not check the ***how to root*** section first before getting this far.*
This tutorial is going to use the linked deleted files zip from the link in the first post.
1. Download the Android SDK for your appropriate Operating System from here: http://developer.android.com/sdk/index.html
2. Once downloaded, be sure to download the deleted files zip from the link in the first post.
3. Extract the Android SDK file to an easily findable folder
4. Extract the deleted files from the zip file, and copy the apk file you choose to the AndroidSdk\tools folder. For reference I will be using the Dialer.apk file in this tutorial (not included in the zip).
5. connect phone to computer and select "charge only" from the menu.
(*for windows Vista/7/XP*)
*prerequisite* - you must have the adb drivers installed to do this in windows.
6. Click Start, go to > All Programs > Accessories, and from there, right click 'command' (something like that), and click 'open as administrator' (XP users do not have to do this, just go to Start > Run, type cmd, and press enter)
7 .navigate to the android tools folder you put the apk file in (the command to change directories is 'cd' and then a space, and the name of the next folder, so to navigate to the 'android' folder, you would type 'cd android', and then you can use 'dir' to see the next directories till you get to the right folder.
8. type 'adb remount'. This is going to start the adb system, and then remount the phone in root mode.
9. to check to see if your phone is mounted and everything is kosher, type 'adb devices' and it should show something on the bottom that should be your device or serial of the device. If it says ??????????? then it's not working.
10. type 'adb push HtcDialer.apk /system/app'
11. DRINK A BEER! You have pushed an apk to your phone! To check if it is installed, simply click the call button (or press phone on the rosie), go to settings and select speed dial. Then see if you can change/add a number to speed dial #2. This could possibly require a reboot to actually start the new version of the installed software but you should just be able to go ahead and use it
(*for Linux*)
6. Once you extract the android-sdk-linux_x86 folder, go to the terminal, and navigate to the android folder pretty much the same way as windows, except instead of using dir (ubuntu users can use it), use 'ls'
7. type 'sudo ./adb remount' and when asked, type the administrator password for the linux system. This is going to start the adb system, and then remount the phone in root mode.
8. To check to see if your phone is mounted, type 'sudo ./adb devices' this should show your device.
9. To do that actual push, type 'sudo ./adb push HtcDialer.apk /system/app'
10.
DRINK A BEER! You have pushed an apk to your phone! To check if it is installed, simply click the call button (or press phone on the rosie), go to settings and select speed dial. Then see if you can change/add a number to speed dial #2. This could possibly require a reboot to actually start the new version of the installed software but you should just be able to go ahead and use it
***History***
(July 21st)v.0.1 - Dirteh_South-Krome_Knuggz #First Cellular South+Root 2.1 hero rom to hit XDA! Featured Full Stock 2.1 + root, tethering, and apps2SD. --issues-- had to remove various apps because of signing issues.
Download Link:http://www.mediafire.com/?15k8u28gy9f3vka
----------------------------------------------------------------------------------
(July 25)v.0.5 - Dirteh_South-Kleen_Thugz #Removed useless apps, added Live Wallpapers. --issues-- facebook update issue
Download Link:http://www.mediafire.com/?xx0d54pnj99tuyn
----------------------------------------------------------------------------------
(July 27)v.0.6 - Dirteh_South-Fast_Dubz! #Added vUV'd 710mhz overclocked kernel, added Home Switcher, Helix Launcher, and a few small programs.
Download Link:http://www.mediafire.com/?9ithfl65laxpf0y
----------------------------------------------------------------------------------
(August 6)v.1-Beta - South Paw!V1-Beta #Went back to scratch RUU file, Name changed to hide the guilty, completely overhauled, removed useless apps, facebook was fixed, updated A2SD, overclocked/undervolted kernel, google maps, signing issues fixed, added google parts, Old skool 1.5 hero bootscreen, added custom lockcreen *by me* and background, Dconfig, Collin_ph Battery Tweak, Fixed the black dialer w/o haptic feedback.
Download Link:http://www.mediafire.com/?ipf0oonwn9zq2y1
---------------------------------------------------------------------------------
(August 12)v.1.5-Final - SouthPaw!V1.5-Final #Downgraded to previous version of Apps2SD, and previous version of Root Permissions app, modified vUV2 - boot.img file to work properly with a2sd, removed android terminal because there was no way to fix it from fc'ing if you installed from rom flash, removed Dconfig because it was not compatible with this a2sd setup, added xda-developers app, updated facebook to newest version, updated collin_ph battery tweak to newest version.
Download Link:http://www.mediafire.com/?7ro6qczcoqcxtip
---------------------------------------------------------------------------------
(October 1 - October 28th)v.2.0-Betas
beta1 - had slowdown issues due to an unstable kernel added/various things missing
beta2 - still bad slowdown- other various things missing/not working
beta3 - Once more bad slowdown/added internal tweaks for speed but didnt work
beta4 - Fixed slowdown, has internal tweaks for stable brainfuct kernel #6, added misc. backgrounds
---------------------------------------------------------------------------------
(October 27)V.2.0-Final
Removed a bunch of stuff. First ever odex version added alongside the deodex version. No added extras at all besides root, busybox, a2sd, and wireless tethering. No longer a carrier specific rom.
---------------------------------------------------------------------------------
(October 28th)V2.1-Final(ish)
Based on newest update from cellular south. Vanilla with no extras just like 2.0 Final. Removed bloat. No kitchen signed apps AT ALL for smooth working with upgrading apps
Click to expand...
Click to collapse
Hell yeah! Although the neighbors didn't appreciate me running around in the front yard naked! Hmmm.... Maybe I will try the backyard next time.
Good job. I'm glad somebody finally got a CSouth Rom on here.
If you need any assistance let me know.
Ok I go to filedropper site but all I get to download is an empty folder, 66.7kb????. Has the file name but no data, or am I completely missing the right link? Do I need to join to download? Thanks, would really like to try this ROM out.
I got the download, followed all steps, it says that the zip is bad. I deleted the old one, transferred a fresh one to card, same story. I'm downloading the zip again just to make sure it didn't corrupt while downloading.
Anyone else run into this problem?
zip flashed fine for me. Just booting up
Can this be used in other non-sprint heros?
Also, I was wondering if it is possible to have like a stripped / universal version for non-sprint heros and then install CS’s or other carrier’s stuff apart like DarchDroid did with his naked rom with Google ****s apart.
Thanks for sharing it!
I downloaded it from the link with no problem. I did the following:
1.downloaded the zip
2.transferred it to the SD Card
3.HBoot
4.Created Nandroid
5. Wiped everything
6. flashed in zip file
It works pretty good. I can't get my yahoo account to work. I also can't get the new widgets to download to the phone and work. They download and then I don't get them. Hmmmm....
Anybody know how to change pri version? Mine is 1. Something but my non rooted phone is 2.51_013
Even though I am on AT&T with a Magic and Captivate it is good to see some Cell South love around here. I will be using your rom to flash to as many friend's Heroes I know.
Bring on the Incredible, Milestone, and Galaxy S now C South!
Kaisum said:
I got the download, followed all steps, it says that the zip is bad. I deleted the old one, transferred a fresh one to card, same story. I'm downloading the zip again just to make sure it didn't corrupt while downloading.
Anyone else run into this problem?
Click to expand...
Click to collapse
yeah i got the same problem
Redfox85 said:
Anybody know how to change pri version? Mine is 1. Something but my non rooted phone is 2.51_013
Click to expand...
Click to collapse
That is odd. I have no idea tbh, but I'll try to check it out.
From here on out, any questions asked will be answered in the 2nd post on this thread.
***link is fixed!! Any issues please report!***
And yes this rom should work for non-cs users, but always take caution and do like you do with sprint roms, and it should be ok (and for those who didn't get voicemail notifications, this should support it)
hexskrew said:
That is odd. I have no idea tbh, but I'll try to check it out.
From here on out, any questions asked will be answered in the 2nd post on this thread.
***link is fixed!! Any issues please report!***
And yes this rom should work for non-cs users, but always take caution and do like you do with sprint roms, and it should be ok (and for those who didn't get voicemail notifications, this should support it)
Click to expand...
Click to collapse
somethings up with the link again i got an error saying the the files is no longer there
Just want to say thanks, working well here!
Sent from my HERO200 using XDA App
Agpilot! said:
Just want to say thanks, working well here!
Sent from my HERO200 using XDA App
Click to expand...
Click to collapse
could you send me the file there appears to be a problem with the link
To Mr. Danger, yes I will need some help soon. I want to branch this rom out to a couple of different versions. 1. With no apps (well junk apps anyways) with helix launcher and no sense, 2. With no junk apps with sense, and 3. Just the full montey (like now but with no issues)
@pound24. I just tried the link. It's working fine (from mediafire, not the old link, I removed that one)
hexskrew said:
To Mr. Danger, yes I will need some help soon. I want to branch this rom out to a couple of different versions. 1. With no apps (well junk apps anyways) with helix launcher and no sense, 2. With no junk apps with sense, and 3. Just the full montey (like now but with no issues)
@pound24. I just tried the link. It's working fine (from mediafire, not the old link, I removed that one)
Click to expand...
Click to collapse
i used a different computer and it worked about to flash in a sec
This may be a dumb question, but you do need to root before applying this ROM, right?
Yes, the phone has to be rooted before loading anything except for the stock updates from the carriers.

[UPDATED 24.03.2011] X10 Theme Reference

24.03.2011: Added a link to the themes section and added my last post here for a while (maybe ):
_calum_ said:
So I'm back after dropping off the face of the planet for a while I've been getting into WP7 development and so my X10 has been in the top drawer for a couple of months... I may get into Android development soon but at the moment I'm a bit short on time (as always ).
I still would like to get the timescape animations sorted (I hate being beaten ) but I just can't seem to get the cheecksum figured out. If I ever get them sorted I'll update this post again, but until then I probably won't do anything more with my X10.
I hope this post has been helpful. See ya
Click to expand...
Click to collapse
This thread was opened to consolidate the information/knowledge about themes for the x10. It is basically a reference thread with key bits of information and links so that a new user can find all the necessary information in one place. At the moment this is spread out all over the place, there are a lot of different threads with different bits of information, and the lack of updates in Draken Korin’s sticky makes it pretty hard to find new information. It should also help us avoid the old ‘where the hell was that image…?’ and ‘where was that … thread again?’.
Please PM me or post any useful information that is missing, especially the OPs of the threads in the Themes section below. I will continually update this thread with any new information or links.
All useful information that is posted here will be added to this first page, so that you don't have to wade through pages of posts to try and find something. Everything after the first page should therefore either be repeated on this page somewhere or is just conversation. Please yell at me should this not be the case
Please help me out by posting information, ideas etc.
Creating Themes for the x10:
1. Getting Started
2. Using ADB
3. Creating a theme
4. Modifying XML files and adding resources
5. Modifying Services.jar
6. Timescape/Mediascape
7. Resource locations
8. Theme collection
9. Recovery tips
Change log
14.11.2010 - Added section 4
18.11.2010 - Updated section 3 with a complete guid for modifying .9.png's
25.11.2010 - Updated section 7 with text color locations in the xml files
21.12.2010 - Added a link to MrRusch's tool to section 4
24.12.2010 - Added link to 2.1 Sources to section 5
Getting Started
Before getting started on a theme you'll need to set a few things up. Here's a list of everything you'll need:
Root. Your phone will need to be rooted
Java SDK (JDK). You'll need to install the JDK (and JRE) before you can start modifying the contents of your phone. Check out this video of Chewitts if you're having problems on x64 systems.
ADB (from the Android SDK). You need ADB to push/pull files to and from your phone (see the next post)
X10 Drivers. The drivers are usually installed if you install SEUS. Sometimes however you may need to do a manual installation (from my experience mainly on Win7 x64 machines).
The easiest way to make sure everything is set up properly is to install someone elses theme. Check out this post (1.6) or this post (2.1) for instructions.
After you've done all that take a look at this.
Have you installed someone elses theme yet? If not then go directly to jail, do not pass GO and do not collect £200
Using ADB
There's an ADB Guide here (thanks to XPeriaX10iUser for having this in his sig ): ADB, Fastboot, and Nandroid for Noobs
Before you start need to unsecure the shell. Use the following adb commands to do this if you haven't already (to reverse it do chmod 0755... thanks XperiaX10iUser ):
Code:
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
chmod 4755 /system/bin/sh
This is all described in the links posted in the Getting Started section above
Thanks to MrRusch for making our lives easier with this tool. For those of you new to this, you should still read the guide linked above so that you know what is actually going on.
Here's a step by step for pulling the framework from your phone and pushing it back. The original post is here. The boot animation mod at the bottom is for 1.6. In 2.1 it is found in system/media/bootanimation.zip.
@gavriel18: I hope it's OK to use this here, if not then let me know.
gavriel18 said:
Step 1:
Connect phone to pc, enable usb debugging and open adb. Type:
adb pull /system/framework/framework-res.apk framework-res.apk
That will pull your framework-res.apk to whatever folder is displaying in your command line.
Step 2:
Find the framework-res.apk on your hard drive, right click and open with 7zip.
Step 3:
Use png's here or create your own and dump into the appropriate folder within framework-res.apk.
Step 4:
When you are done editing the files open up adb and type the following command:
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
adb push framework-res.apk /sdcard/framework-res.apk
adb shell dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk
That will put the new framework-res.apk on your phone. It should automatically reboot (if not reboot it) and your changes should be applied!
When running the script above you can replace framework-res.apk with whatever you want. For example, Timescape.apk
Remember, it is CASE sensitive I made this problem many times)
If you would like to pull an entire folder put a slash at the end of the last word. For example, adb pull /system/etc /etc"/" (no " in actual script )
Courtesy of corruptfate is the steps to modify the startupshow (post #207)
step 1: open adb shell
step 2: type "adb shell"
step 3: type "su"
step 4: type "mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system"
step 5: type "mkdir system/etc/semc/startupshow"
step 6: exit and redo step 1 - 4
step 7: type "mkdir system/etc/semc/startupshow/default"
step 8: exit and open command prompt again, this time type "ddms"
step 9: look for the default folder in system > etc > semc > startupshow > default
step 10: push the images into that folder
Click to expand...
Click to collapse
Creating a theme
So, now that we’ve got the framework-res.apk onto our hard drive, we can take a look at creating a theme. The only skill that is really required to change the appearance of the framework (this is the system file that contains the notification bar, settings etc.) is being able to edit .png image files to suit your tastes. If you can do this then it is just a matter of knowing how to extract the images, and how to update the .apk with them after editing.
.9.png's
Before we start we need to take a look at a special kind of image in android apk’s: the .9.png’s. These are recognisable, as the name suggests, by the double extension *.9.png.
.9.png's are images with a bit of extra information embedded. They contain information on how they can be stretched, and where the content can go (e.g. for a button background, which area of the background can contain the text).
This information is contained in a single pixel border (the guides) around the image and can be added using draw9patch. The catch here is that the guides must be compiled into the image before it can be used.
The Border: For the most part, you will not have to edit the border of a .9.png because, as long as you follow the guide below, the guides will already be in the image and you will not need to change them. If you do need to create your own (I’d assume you know enough not to be reading this though ), you can find more information here.
Editing the Framework
In this example we will look at editing framework-res.apk. However, the process can be used on any apk.
The method described below may seem overly complicated for those who have experience in this area, but it is (in my opinion) the easiest ‘sure-fire’ way to make sure you don’t have any problems (especially with the .9.png’s).
In rare cases, when the .apk your modifying doesn’t have any .9.png’s (e.g. the Recent Calls widget) then you can skip straight to the ‘Updating images using Drag/Drop’ section below.
Requirements:
You will need the following:
7zip apktool - this is included in the attached file themes.zip
Some people use WinRAR instead of 7zip, but apktool uses some 7zip commands internally so make sure it is installed (I think, I know this is the case for APK Manager, I still need to test this for apktool, but hey, just use 7zip, it's free and works exceptionally well).
Setting up:
In the attached zip file (themes.zip) you will find a copy of my theme creation environment. It’s not too complicated, it only contains a couple of folders so I know where everything is, three key batch files (all one-liners) and apktool.
The first thing we need to look at is install_framework.bat. This contains the following line:
Code:
java -jar apktool.jar install-framework stock\framework-res.apk
All this does is tell apktool to install the framework on your system. The resources from stock\framework-res.apk will be extracted to a default location. If you don’t do this then you will not be able to recompile other apk’s that rely on the framework (you will get a ResourceNotFound error).
The other batch files decompile and build the framework, these are the ones that need to be modified if you start working on a different apk:
Code:
[B]decompile.bat[/B)
java -jar apktool.jar d stock\ framework-res.apk working\ framework-res
[B]build.bat[/B]
java -jar apktool.jar b working\framework-res out\framework-res.apk
I have included the stock X10 framework. If you use on of the other frameworks out there you may find that you get a lot of errors when trying to recompile. That’s because someone got lazy with the .9.png’s
As we are modifying the framework directly we do not need to run install_framework.bat, for a different apk (e.g. Phonebook.apk) you may need to run this first to avoid errors when decompiling.
Decompiling and Building:
1. Run decompile.bat. After this you will see that the working folder is filled with the contents of the apk. The images we need to modify are in the subfolders res/drawable-hdpi and res/drawable-land-hdpi. If you look at some of the .9.png’s in there you can see the guides (see the attached image). This makes it really easy to edit them, you can just edit them like any other image (as long as you do not touch/alter the guides).
2. Edit any images that you want. For the .9.pngs I usually make a copy without the 1 pixel border so that I can edit the entire image, then I paste the copy back into the middle of the original .9.png. You don’t have to worry about the guides, they are already set correctly.
I have created a tool that takes the stock x10 status bar icons, removes the background and sets them to a colour of your choice here. This was made to make my life easier by minimizing the time I spend in photoshop.
3. Run build.bat. This compiles the framework, embedding the guide information into the .9.png’s. The output framework is in the out folder. Do not push this to your phone as it is incomplete and the resources.arsc is stored incorrectly. If you do push it to your phone then you get to reflash
Now you can just drag the edited images out of the generated framework onto your hard drive and use steps 4. and 5. of the Drag/Drop method described below to update your framework.
Updating images using Drag/Drop:
1. Open the .apk in 7zip and browse to the appropriate image folder (almost always the res\drawable-hdpi folder)
2. Drag/Drop the images you want to edit to your hard drive. Leave the .apk open in 7zip
3. Edit the images in your favourite program (photoshop or similar)
4. Drag/Drop the images back into the .apk that is still open
5. Use the process described in the previous post to push the framework back to the phone
The reason that the .apk is left open in this process is that some (all?) of them are signed and updating them in this way doesn’t mess with the signature. I’ll admit to not being 100% sure about this, I’m sort of thinking now that people just had problems re-packing due to files being compressed that shouldn’t have been (see the section on editing XML files and adding resources to see what I mean). Please correct me on this one.
This also [almost] goes without saying, but: Make a backup before you start (you can look at the installer for Chewitts Dark10 theme to see how to do this).
OK, now you can start messing with the appearance of your phone, have fun
Credits
Thanks to Mr_Element for the help testing this process and making it easier to follow
Thanks to damnitpud for his post here, without which I would still have been a bit lost in draw9patch.
Modifying XML files and adding resources
First up, thanks to MrRusch for pointing out that the resources.arsc was being zipped differently. It would have taken a few more flashes to figure out how to pack it into the apk without that little nugget
Secondly, thanks again to MrRusch for this post. Using apktool 1.3.1 means the resources are not compressed, but you still can't just flash the resulting framework. So either use MrRusch's tool or follow the instructions below.
The XML files in the framework-res.apk (and the other apps) are stored in a compiled form, making them impossible to edit without decompiling them. The process of decompiling them and recompiling is reasonably simple but care is required if any images/resources are added to the apk.
Modifying the xml files opens up certain things that can’t be changed by just modifying some image files. The best example is changing the battery icon in the notification bar to show a different image for each percentage instead of just 10%, 20%, 40% etc.
When you modify xml files and add resources to your apk, make sure you copy ALL the modifications made to the stock apk each time after compiling. I have noticed strange effects if I don't do this such as the wrong images being used - I am assuming that in the newly compiled resources.arsc the image references/IDs change when compiled, but I'm not really sure yet. An example of this is when I tried to add the signal strength mod mentioned above to a framework that included the battery icon mod below. This only worked if I also copied the battery mod files to the framework (even though they were already in the apk) after recompiling the signal strength mod. If I just copied the files required for the signal strength mod then the battery indicator would start showing the wrong images (see here, specifically posts 52, 56 and 57).
Battery Icon:
Here is a step by step for modifying the battery icon in the framework. To do this you will need to download apktool and install 7zip (other compression programs may work, but I’ve only used 7zip).
Decompile the framework using the following command:
Code:
java -jar apktool.jar d framework-res.apk framework-res
This will decompile the framework-res.apk that’s in the current command window folder into a subfolder framework-res
Find the xml files you need to modify, e.g. the battery icon xml res\drawable\stat_sys_battery.xml and edit them. This is assuming, of course that you know what needs to go in the XML file . For the battery XML it is pretty obvious, just copy/paste the existing nodes and change them so you have the necessary percentage entries, see the attachment for an example with 100 steps.
Add any necessary resources to the appropriate folder. For the battery icon you need to create an image for each percentage (or download one of these) and add them to the res\drawable_hdpi folder. The name is the same as the name in the xml (stat_sys_battery_*.png)
Rebuild the apk using the following command:
Code:
java -jar apktool.jar b framework-res out\framework-res.apk
This will create a new framework-res.apk in a subfolder out.
IMPORTANT: Do not push this apk to your phone unless you want to reflash
Extract the xml files and images from the newly generated apk (you can use the original images, but the xml files must be the newly compiled ones from the new apk). Add these files to the original framework-res.apk that you want to push to your phone (see the previous post).
Extract the resources.arsc from the root of the apk
Rename the original framework-res.apk from your theme to framework-res.zip
Right-click the extracted resources.arsc and choose the 7zip menu item ‘Add to archive’
In the dialog that appears set the achive field at the top to the framework-res.zip from step 7. And set the archive format to zip. Now set the Compression level to store and click OK(if you do not do this your phone will not boot). The settings are in the attached screenshot.
Rename framework-res.zip to framework-res.apk and double check that the compressed size or resources.arsc is the same as the original size (see screenshot)
Done. Push the new framework to your phone.
Status Bar Text:
The style for most (all?) UI elements can be found in res/values/styles.xml. This xml file is only available in a decompiled framework. In the compiled version everything in res/values is compiled into resoureces.arsc.
The status bar text style is named TextAppearance.StatusBar. The file is pretty large so it's best just to do a search for the name. The definition looks like this:
Code:
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_primary</item>
</style>
You can easily adjust the size or make the text bold using the textSize and textStyle elements (see here for a description of these attributes and their values). The color uses the @color/... notation. This is a reference to a color resource, these can be found in colors.xml. We could just change this to a direct color entry (see here for an example), but then we wouldn't have a resource that can be reused for other parts of the UI.
If you open colors.xml you can find this:
Code:
<color name="semc_text_color_primary">#ffffffff</color>
This sets the primary text color to white (ARGB: FFFFFFFF = White). Changing the value of this will change the color of all primary text throughout the phone (settings menu etc.). If we just want to change the notification bar then it's best to add a new color. To do this just duplicate the above color definition and change the name and color:
Code:
<color name="semc_text_color_primary">#ffffffff</color>
<color name="semc_text_color_custom">#9900ff00</color>
And then adjust the style to use this new color resource:
Code:
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_custom</item>
</style>
Now recompile and copy resources.arsc to your framework as described above and push the framework to your phone for semi-transparent green text in your status bar
Modifying Services.jar
To modify services.jar we need to decompile the classes.dex file contained within. We can do this with baksmali:
1. Open services.jar (found in system/framework) with 7zip
2. Extract classes.dex from the archive
3. Open a command window and use the following to decompile:
Code:
java -jar baksmali-1.2.5.jar -o out\services classes.dex
4. You will now have a subfolder out\services with the decompiled .dex classes (smali files)
These sort of modifications will not be necessary very often. Two things that have been looked at so far are changing the text color on the status bar clock (just the clock, not the notification text) and changing the signal strength to show dBm instead of just the bars. The text color of the clock is relatively simple and is described below. The signal strength mod was done by MrRusch and requires a bit more code, he describes the process here.
I have attached a converter MrRusch has put together to convert java to smali. This is really helpful when trying to figure out how to modify the smali or event just trying to figure out what a piece of smali code does.
Since the 15th of december the sources for 2.1 are available here. Now we can see how the original java relates to the decompiled smali code.
You can find a reference for all the smali ops here. This one is more complete but I prefer the first purely because it's a bit more compact and it has most of what I need anyway. Thanks to untemensch and JesusFreke for the links.
Status Bar Clock Color:
I have since figured out how to do this without changing any code, just by changing some xml in res/layout, but I will keep this here as I think it is a nice, easy to follow example to start out with.
This section describes how to modify the color of the clock in the status bar without changing the color of the notification text (changing all of the status bar text is described in the xml section above).
First we need to have a look at the smali file com\android\server\status\StatusBarIcon.smali to see how the color of the clock text is set. I use Visual Studio to view/edit the smali files, but you can use any text editor - I have seen PSPad recommended a few times.
If we look at the init method we can see the following piece of smali code:
Code:
.line 44
.local v15, textColor:I
const/4 v13, -0x1
.line 50
.local v13, styleIndex:I
const v18, 0x1030079
:try_start_1f
sget-object v19, Lcom/android/internal/R$styleable;->TextAppearance:[I
move-object/from16 v0, p1
move/from16 v1, v18
move-object/from16 v2, v19
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
move-result-object v5
.line 53
.local v5, a:Landroid/content/res/TypedArray;
const/16 v18, 0x0
move-object v0, v5
move/from16 v1, v18
move/from16 v2, v16
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v16
.line 54
const/16 v18, 0x3
move-object v0, v5
move/from16 v1, v18
move v2, v15
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v15
Here's a run-down:
I'm pretty sure the lines that start with a '.' are comments from the decompiler.
The .line 4 entries are just a reference to the line number in java source-code. And I think the .local v15, textColor:I entry just notes the v15 variable name and type (I = integer).
The first bit of interest is the line invoke-virtual {v0, v1, v2}, Landroid/content/Context;->obtainStyledAttributes(I[I). The obtainStyledAttributes method definition can be found here. There are a few overloads, but the call is to the method that accepts an integer and an integer array as parameters - hence the (I[I), I and [I. The three variables in braces at the start denote the object that the method is being called on (the Context object) and the two parameters respectively. The first parameter (v1) is a resource ID and a few lines up the v18 variable is copied to this (move/from16 v1, v18 - this means move the value from v18 to the v1 variable). v18 was declared a few lines above again with the value 0x1030079. This ID can be found in the framework xml-file res/values/public.xml and the value is the name of a style (TextAppearance.StatusBar) that can be found in res/valus/styles.xml (see the xml section above).
The result of obtainStyledAttributes is copied to v5 (move-result-object v5) which (in .line 54) is copied to v0 which is then used to call Landroid/content/res/TypedArray;->getColor with the two integer parameters v18 (0x3) and v15 (0x100 - this is the color black). The first parameter is the index of the color in the style array (index 3 in v5) and the second is the default value (black).
The result of getColor() is then copied to v15 and reused later when setting up the text view for the clock:
Code:
.line 61
.local v14, t:Landroid/widget/TextView;
move-object v0, v14
move-object/from16 v1, p0
iput-object v0, v1, Lcom/android/server/status/StatusBarIcon;->mTextView:Landroid/widget/TextView;
.line 62
new-instance v11, Landroid/widget/LinearLayout$LayoutParams;
const/16 v18, -0x2
const/16 v19, -0x1
move-object v0, v11
move/from16 v1, v18
move/from16 v2, v19
invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V
.line 65
.local v11, layoutParams:Landroid/widget/LinearLayout$LayoutParams;
const/16 v18, 0x0
move-object v0, v14
move/from16 v1, v18
move/from16 v2, v16
invoke-virtual {v0, v1, v2}, Landroid/widget/TextView;->setTextSize(IF)V
.line 66
invoke-virtual {v14, v15}, Landroid/widget/TextView;->setTextColor(I)V
All this means that to change the color of the clock text only, we need to declare a new style and use the ID of this style in the call to obtainStyledAttributes. When adding the style to styles.xml I keep it in the same place as the other status bar styles:
Code:
...
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_primary</item>
</style>
<style name="TextAppearance.StatusBar.Clock" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_clock</item>
</style>
...
The name of the style can be anything, what is important is the ID reference in public.xml, and that a color semc_text_color_clock is declared in colors.xml (see the xml section above).
The style reference in public.xml must have an ID that starts with 0x0103****. This is the ID range for styles, strings and other resources have a different ID range. I always add the new style at the bottom of the style group so that I can easily see which is the next free ID:
Code:
....
<public type="style" name="SEMCTheme.Dialog.Alert.Vanilla" id="0x01030139" />
<public type="style" name="TextAppearance.StatusBar.Clock" id="0x0103013a" />
....
Now that we have added a new style we just need to adjust the smali code to use it. Change the code above from:
Code:
.line 50
.local v13, styleIndex:I
const v18, 0x1030079
to:
Code:
.line 50
.local v13, styleIndex:I
const v18, [B]0x103013a[/B]
Now our new style is used for the call to obtainStyledAttributes. We then need to recompile the smali to a classes.dex file and update the services.jar:
Run the following command to recompile the smali:
Code:
java -jar smali-1.2.5.jar -o out\classes.dex out\services
The output file may be a slightly different size than the original classes.dex but as long as you don't get any errors it will be OK.
Now open services.jar with 7zip and update it with the new classes.dex (drag/drop).
Done Push the services.jar to your phone with adb and reboot (make sure you have updated framework-res.apk with the new xml resources first, otherwise our new ID will point to a non-existant resource)
Timescape/Mediascape
Timescape and Mediascape use a different format for some of the images (for mediascape it's just the background on the first page). Timescape also has some animation files to control the wave in the background and the color of the paginator. In 1.6 we can modify all of these, for 2.1 I still haven't got the animations sussed.
All of the information I have collected, including tools for converting the images, can be found here (the 2.1 converter tools are linked at the top of the first post).
If you're just looking to modify the first page of mediascape then it is here: /system/usr/semc/seee/files/ms_bg_background_home_icn.acet
Here are the two dark themes that I have done for Timescape:
1.6
2.1 (without animations)
and the following themes also include Timescape mods:
Dark10 by Chewitt
Enigma by Mobzter
Resource locations
Images:
gavriel18 has posted some of the standard mods here.
XML:
I have attached some images where you can see the effects of changing the most common colours in res/values/colors.xml. It looks pretty horrible, but you can see what you need to change
I still haven't figured out how to change some of the colours (e.g. the network provider text in the status bar) but I will update this when I find out more...
Please PM me or post any other mods that you've made that were well hidden. We can add them here to avoid searching for them again later.
This especially applies to all the OPs from the next post
Theme collection
Update (24.03.2011): There is a much more up-to-date list here with all the new themes.
Here's a list of some of the existing themes around:
2.1:
Dark10 by Chewitt
X10 Res Mods by XperiaX10iUser
ElementaL by Mr_Element
Pitch Black by Shukla
Xdre4m by PoTi_96
PGFX™ Eternity by SEMPITERNAL
Transparent Status Bar Theme by thefunkaygibbon
HTC Sense and Stock Android Status Bar by dk2000zx
Enigma by Mobzter
1.6:
Dark10 by Chewitt
Frankendroid by Bazza1976
Enigma by Mobzter
Red Theme by djsystem
There's also a lot more here thanks to gavriel18
If I have missed any please PM me or post here and I'll update the list. I just scanned the first 3 pages in the forum.
Recovery tips
This post will be used for tips etc. on recovering your phone if it won't boot (if this never happens to you then you're not trying hard enough )
From here:
MarylandCookie said:
Future tip: For anyone who needs to reflash due to a bad upload of an app i would recommend just flashing the system.sin file (ive done this on a number of occasions!!)...
Your phone will boot up (will take a little longer than usual) and the only difference will be is that you will have all your system apps back but you will need to re-root. Everything else will be the same
Even better if you have the One Click Root app found here:
http://forum.xda-developers.com/showthread.php?t=834428
Click to expand...
Click to collapse
From here:
gavriel18 said:
Possible reasons your phone won't boot after modifications:
images anren't stored properly, right format, right size etc.
unpacked apk improperly, use 7zip, it doesn't mess anything up
you signed the package before pushing it- unless you know what you're doing follow the directions to a tee and you should be fine
pushed the package to the wrong directory, /system/framework-res.apk XX, /system/framework/framework-res.apk
I'm sure many other reasons, these were the only ones I encountered
How to get past boot screen:
Use backup framework-res.apk and push that one to your phone. Remember to place that one where the modified one is.
To see if adb sees your phone type adb devices, if a serial number pops up try pushing your original, if not...
Flash your phone again from scratch . Sorry, I don't know any better way yet.
Click to expand...
Click to collapse
from bitter personal experience :
If anyone does mess their phone up so much that not even the SE logo shows up (just a black, maybe flickering, screen) and a reflash/seus repair doesn't help. Then what sorted me out was a reflash to Generic Nordic 1.6 using jerpelea's flash tool - the same one I used to get the 2.1 update early - then boot the phone, shut down again and run seus for the 2.1 update.
Click to expand...
Click to collapse
Not directly related, but here's a tip from XperiaX10iUser:
To reverse chmod use 0755 instead of 4755.
This would indeed be helpful. Thanks.
This definitely needs to be sticky'd! It beats looking over pages and pages worth of threads to find the correct ones. It's a lot harder to search through threads without getting completely creative with your search strings so as to cull out all of the useless threads.
Thanks for this! I just posted about a theme I'd like to work on and requested this information!
Wow, great tutorial Calum. Thank you once again for all your hard work!
Thanks for the feedback guys
Great thread! Why on earth the mods haven't thought to sticky this is beyond me.
great thread Callum!
i vote yes for sticky also!
Thanks for all the hard work _calum_ and all the other themers too!
Thank you for this Ultimate theme reference thread... It definitely should be sticky....
XperiaX10iUser said:
Great thread! Why on earth the mods haven't thought to sticky this is beyond me.
Click to expand...
Click to collapse
As I told you the other day... because we cannot be monitoring every single thread in this site...
Also, we only do stickies upon request...
In either case, great guide.
Thread stuck.
egzthunder1 said:
Thread stuck.
Click to expand...
Click to collapse
Thanks
And thanks for all the other posts as well. Now you guys just need to tell me what's missing

[ROM] LOL v. 1.4.2 (with kernel 2.2.2+oc+lagfix)(+ how to create powermenu on LGP500)

Hello everybody, this is my first homemade ROM and everything started more like a joke.. (that’s the reason of its name.. ) rather than because of the necessity of a different ROM - I just wanted to experiment a bit in order to improve my knowledge!
The Void (thanks to Noejn) I was using before was working flawlessly, but I was curious to learn the procedure of cooking my own, so I tried, and when a problem showed up I resolved them.. it was a great way to learn something new!
First I made it for personal use only, then talking to my friends on an Italian android forum they wanted to try it, so they became my beta testers (MicheyKnox since the first day and NioBee from the second on).
During the last week many other users installed the Rom and I made some minor bug fixes and improvements and now it’s ready to be published here…!
But let’s go to the TECHNICAL SPECIFICATIONS:
* based on the v10q (Froyo 2.2.2)
* rom deodexed
* zipaligned
* root + superuser + busybox
* a2sd (darktremor script) + dalvik-cache on ext partition
* HW acceleration by default enabled
* Jit by default enabled
* Kernel froyo 2.2.2 recompiled by me with oc+lagfix (thx to drellisdee and mik_os)
* CPU automatically set 245/729/interactive
* gingerbread keyboard
* adw.launcher + adwnotifier
* customized theme with circular battery
* updated Google apps
* also includes: terminal emulator, OI file manager
* customization scripts: appinst and cpuclock
* customized POWERMENU able to reboot the phone or reboot directly in recovery
* BaBa (Burning Apple Boot Animation)
* wifi power (set by default to 20 dBm, edit the script /system/etc/setwifi.sh for modify this value)
* support for wlan wpa adhoc
* market hack (the market will seem that you are using Froyo 2.2)
BaBa is a Boot animation which is made of two different animations I found on XDA dimensions and timings where adapted in order to fit our needs (thanks to MickeyKnox )
Some apps like facebook, twitter and layar were removed, they can easily be installed through the Marked!
Removed: AppAdvisor and LG update advisor.
Other apps removed:
Code:
AIME.apk (LG Keyboard)
AnalogClockWidget.apk
BookmarksWidget.apk
CalendarWidget.apk
CarHome.apk
CarHomeLauncher.apk
ClockWeatherWidget.apk
DigitalAlarmWidget.apk
DualClockWidget.apk
GenieWidget.apk (news and weather widget)
LGHome.apk (launcher LG)
MagicSmokeWallpapers.apk
MemoWidget.apk
MessageWidget.apk
PhotoWidget.apk
Protips.apk
VisualizationWallpapers.apk
ConnectionManagerWidget.apk
Email.apk
LiveWallpapers.apk
Talk.apk
For these apps I created a script that allows you to install or uninstall them in a very easy way, without the need of root explorer.
To open this script go to Terminal Emulator (installed by default) or use adb shell from your PC and write:
su
appinst
a menu will popup where you’ll find all the options, just follow the onscreen instructions.
(the script works taking its files from the LOL directory in your SD Card, so if you delete this directory, the script won’t work!)
With my second script: cpuclock you’ll be able to change the default frequency in LOL without the need of installing other apps, to use it go to Terminal Emulator or via adb shell from your PC and write
su
cpuclock
and then follow the onscreen instructions, all your settings will be available after you reboot your device.
DOWNLOAD LINKS:
LOL v 1.4.2 (multiupload)
md5: 648e91a9d8458039d4937c4911acaf82
INSTALLATION (please follow these steps carefully):
What you need: root + custom recovery
* Reboot into custom recovery (through 3-button combo)
* Partition SDcard (swap: 0, ext: 512 – or bigger if you like), convert ext2 to ext3
* wipe everything (data/factory, cache, dalvik-cache, ext, android_secure)
* Toggle PC-USB connection and copy the downloaded zip you wish to flash into the root of your SDcard; unplug afterwards
* flash from SDcard and choose the file you just copied
* reboot
On first boot it takes some minutes for the phone to load: DON’T PANIC! Wait for at least 5-6 minutes!
************************************************************
I prepared a zip with the scripts translated into English (the original scripts in the Rom are in Italian)
just download and flash over.
************************************************************
Thanks to MickeyKnox for beta testing, for BaBa and for the time spent together on msn while I was cooking
Thanks to NioBee for beta testing and for her tips and suggestions (and for this translation from Italian )
Thanks to the guys on XDA where I found the tools needed to cook my ROM (dsixda + others) and to mik_os for his fantastic kernel
original discussion (in Italian): androidworld.it
************* standalone kernel ***************
zip in AnyKernel Updater by Koush package
kernel 2.2.2 + oc + lagfix by mik_os/Der_Caveman
kernel 2.2.2 + oc + lagfix by LG
SCREENSHOTS:
a little how to
ok, i wrote a little tutorial on how to create a powermenu
sorry for my english
************************************************************************************************
for first step i used this tutorial (i only removed the option "donwload"):
http://forum.xda-developers.com/showthread.php?t=811532
(copied from thread above)
untermensch said:
Step 1.
the first thing we need to do is add string and image resources to framwork-res
for this example I am using a stock JI6 ROM your resource id's will be different
if on another ROM
use apk_manager to decompile framework-res
open "res\values\strings.xml" and add our string resources
Code:
<string name="reboot_recovery">Recovery</string>
<string name="reboot">Reboot</string>
save and close
open "res\values\public.xml" and assign our strings resource id's
scroll until you get to the end of the "<public type="string"" id list
note the id of the last string, in this example it is "10403c2" sometimes
the id's are out of order so search for "10403c2 + 1" or "10403c3"
if the next id is unused then we can start assigning id's to the strings
we added.
Code:
<public type="string" name="reboot_recovery" id="0x010403c3" />
<public type="string" name="reboot" id="0x010403c5" />
now is a good time to add the image resources so add your icons to
"res\drawable-hdpi"
and assign id's to them the same way we did for the strings
in this example, using the example icons in the zip file I had
Code:
<public type="drawable" name="reboot" id="0x010803aa" />
<public type="drawable" name="recovery" id="0x010803ab" />
save and close
now framework-res has the resources needed for this mod use
apk_manager to compile.
Click to expand...
Click to collapse
step 2: (This part is based on untermensch's tutorial to which i have made serveral changes to let it work on LG)
now we are going to add the extra options to the power menu
decompile android.policy.jar with baksmali
open com\android\internal\policy\impl\GlobalActions.smali and change the line 436 from
Code:
const/4 v0, 0x3
to
Code:
const/4 v0, 0x5
insert the following line at line 462 (the original line 462 becomes line 486)
(remember to change reboot and recovery's image/string id with the ones used in the first step)
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$7;
const v3, 0x10803e0 # reboot icon resource id
const v4, 0x104039d # reboot string resource id
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$7;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x4
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$8;
const v3, 0x10803e1 # recovery icon resource id
const v4, 0x104039c # recovery string resource id
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$8;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
save and exit
(here starts my real job )
ok now copy GlobalActions$3.smali to GlobalActions$7.smali
edit GlobalActions$7.smali
search and replace all GlobalActions$3.smali to GlobalActions$7.smali
and change this line:
Code:
const/4 v1, 0x1
invoke-static {v0, v1}, Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V
to
Code:
const/4 v1, 0x1
const-string v2, "now"
invoke-static {v0, v2, v1}, Lcom/android/internal/app/ShutdownThread;->reboot(Landroid/content/Context;Ljava/lang/String;Z)V
save and exit
now copy GlobalActions$3.smali to GlobalActions$8.smali
edit GlobalActions$8.smali
search and replace all GlobalActions$3.smali to GlobalActions$8.smali
and change this line:
Code:
const/4 v1, 0x1
invoke-static {v0, v1}, Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V
to
Code:
const/4 v1, 0x1
const-string v2, "recovery"
invoke-static {v0, v2, v1}, Lcom/android/internal/app/ShutdownThread;->reboot(Landroid/content/Context;Ljava/lang/String;Z)V
save and exit
recompile android.policy.jar with smali
done
PaoloM70 said:
Hello everybody, this is my first homemade ROM
Click to expand...
Click to collapse
GREAT, glad to see you posted your Rom here...!!
I am using this rom since the very beginning, and I can only recommend it... give it a try!
FANTASTIC ROM great work is the BEST ROM I've never had, SPECTACULAR!
very very good rom grazie paolo
Hiya, well done m8!
....As Paolo said in his post, i've been betatester for LOL Rom.
Well this rom is absolutely stable, never had a crash since started to use it.
Scripts, reboot and recovery-reboot mods are a great add-on....
i never found something like this in any rom i tested in past.
I really hope our xda friends will appreciate this ROM as we do!!!
oki, be good.
Mickeyknox
good work man
Molto bella e velocissima!!!!!!!
Grazie Paolo
vicvic said:
Molto bella e velocissima!!!!!!!
Grazie Paolo
Click to expand...
Click to collapse
Vic i'm not sure (kidding) but i suppose u should write in english.... foreign guys wont understand italian....
Awsome!! Please, how you boot option into power-off menu?
you have to modify some xml in folder values in framework and the androidpolicy.jar
great works!!!
The_ERROR said:
Awsome!! Please, how you boot option into power-off menu?
Click to expand...
Click to collapse
i just modified the framework-res.apk and android.policy.jar
exact procedure I followed is hard to explain ...btw i started my work from this thread
http://forum.xda-developers.com/showthread.php?t=811532
I do get "preparing SD card"error(i'm ussin the 2gb card...
CrysiZ said:
I do get "preparing SD card"error(i'm ussin the 2gb card...
Click to expand...
Click to collapse
Do you get this error after having finished flashing?
I think the problem could be connected to app2sd...
usually it is not recommended to use it on lower class SD, better if class4 or higher..
So how kn i remove it?
very very good, thanks!
CrysiZ said:
So how kn i remove it?
Click to expand...
Click to collapse
I'm sorry, app2sd is part of the rom, and for the moment it's not possible to remove it without recompiling the whole...
But can you explain me WHEN exactly you get this error? During flash or afterwards? Did you manage to boot up the sistem at least once?
lol
excellent will give it a try. god with so many nand backups I am losing my train of thought.
Ye..it worked for 30 min or so and then it started to get this error.

[TOOL] V4.0.3-xdaAutoTool ALL-Win | V5.0.0b-xdaautoAPKTool | V1.0.3-xdaautoDeoTool

********************************************************
xda AutoTool (xAT)
CURRENT VERSION: 4.0.3 RELEASE
********************************************************
This POST: xda AutoTool (xAT) Windows Version (AIO)
2nd POST: xda autoAPKTool (xaAT) Command Line automation
3rd POST: xda autoDeodexTool (xaDT) Command Line automation
5th POST : MIUI smali editing and translation tips
7th POST : MIUI System Update modified for OTA
LATEST DOWNLOAD: http://tweaksparadise.com/download/xavierjohn22/index.php?action=list&folder=2100
NOTES:
there's no need for a how-to and full doc in this beta
all auto apk tool and auto deodex tool applies here
adb functionality is in progress
still a lot of room for improvement
REQUESTS:
If you happen to have an idea, please post and make a clear description or screenshot of what you want to happen or do
TO DO:
add more options in the settings menu
catch errors and better handling errors
add more tabs for custom commands
PLANS:
my looking forward is to be able to create custom scripts and run with the tool
also to be able to put many jar files by just adding it in settings and run custom commands for that jar
that way it will automate whatever manual things users do in their customization of apks, rom zip, lang pack, etc
IMPORTANT:
ALL THE DEPENDENCIES LIKE OCX WILL PROMPT ERROR if not in your machine
YOU MAY NOT HAVE THESE OCX YET SO I INCLUDED IT IN THE Res folder
STEPS on FIRST RUN ONLY
1) Go to /Res/
2) Run FileRegister.exe to register these ocx files
If you are using latest w7 it may probably be registering in the wrong path so register manually.
INSTALL:
Place the folder where there is no space yet
C:xdaAutoTool
I havent handled white space yet
- Tested on Windows 7 workstation, it should run in XP as well
- All ocx and posibble dll references and dependecies will be in your machine if you are close to W7 X64 and had installed ms vb runtime in the past
- All the dependency file list are inside the docs folder (docs/xdaAutoTool.xml)
- This means i used mainly files in your Windows 7 system to run it without installation
- Installer will come later or when issues with running is that massive
********************************************************
xdaAutoTool CHANGELOG:
********************************************************
Version 4.0.3
10:30 AM 8/5/2012
====================================
- Fixed code of changing apktool version via combobox
Version 4.0.2
9:30 PM 3/7/2012
====================================
- Move apktool choose settings to combobox
- Fixed theming folder creation runtime error
- Speed up reading columns and lines on multiple apk to display in listview
Version 4.0.1
9:27 PM 2/28/2012
====================================
- Added MULTIPLE INPUT apk support, choose working folder in combobox
- Added code to detect status after recompile or decompile
- Update code to handle listview loading
- Executable size is still down to 1.476KB, decent, he he he
Version 4.0.0
7:58 PM 2/27/2012
====================================
- Recode detecting BIN folder for faster loading
- Load all available apktool versions in menu and use
- Added color code for text on compiled and not compiled apk
- Added save form position to remember when loading app (for testing)
- Added Decompile With..... apktool version
- Added Recompile With..... apktool version
- Added more columns:
-- Compiled (YES or NO)
-- Last compiled (apk)
-- Decompiled with (apktool version from yml file)
Version 3.0.1 (BETA)
2:59 PM 11/5/2011
====================================
- Fixed deodex full rom and timers
- Added bottom last panel as application path panel
- Added xUltimate-d9pc for THEMES
- Added running draw9patch compiler in pngs using xUltimate-d9pc
- Redo zipalign dist code in build usable apk, when option to zipalign is ON, the dist out apk will now be deleted
- Added toolbar icons
- Changed application icon temporarily
- Fixed changing apktool jar file version after pressing save button
Version 3.0.0 (BETA)
5:15 PM 10/29/2011
====================================
- Added mogrify theming options
- Added create themed folders
- Added apply Hue and Saturation using mogrify
- Added Build All Themed APKS, all apks in specific folder structure
- Added Build One Set themed apks
- Added support for Copy_Folders.txt in _CUSTOM_RES
USAGE:
"Left file path source" + delimeter "||" + "Right file path destination"
SAMPLE:
Launcher2buildapkresxmldefault_workspace.xml||Launcher2resxmldefault_workspace.xml
NOTE:
Folder gets deleted after build usable
- Added support for Copy_Files.txt in _CUSTOM_RES
USAGE:
"Left folder path source" + delimeter "||" + "Right folder path destination"
SAMPLE:
framework-resbuildapkresanim||framework-resresanim
NOTE:
File does not get deleted yet after build usable,
thinking if it make sense, filecopy command already overwrites
- Added MOD TAB, use for multiple modding apks
- Added overwrite AndroidManifest.xml binary file
In APK DIST generated apks this is not necessary
Using the apks _OUTPUT_APK_DIST_ZIPALIGN after AndroidManifest.xml is better
It generates a build apk and put it in _OUTPUT_APK_DIST_ZIPALIGN
This then will be signed and gets a new META-INF file to ake the apk usable
(overwrite AndroidManifest.xml binary file is only use when all else fails)
- Added reference to microsoft scripting runtime,
Better folder/file handling,
Space not yet handled for these are third party executables
- Switch to Native Code compiler, no-optimization
- Exe is now 800kb, compiled optimized exe is throwing error atm
P-Code is not an option
Version 2.0.0 (BETA)
8:02 PM 8/28/2011
====================================
- Added zipalign.exe file in bin folder
- Added generate zip aligned APKs option in build usable APKs command
- Added move zip aligned apks in _OUTPUT_APK_ZIPALIGN to _OUTPUT_APK folder
- Added move zip aligned apks in _OUTPUT_APK_DIST_ZIPALIGN to _OUTPUT_APK folder
- Added apktool dist generated apks copy option
- Added apktool dist generated apks zipaligned option
- Added make zipaligned apks independent button for apks in _OUTPUT_APK
- Fixed enabling selection buttons bug
- Fixed error restarting when app save window position on exit
- Fixed saving tab to remember it next time app is started
- Optimized BUILD USABLE apk commands
Version 1.0.3 (BETA)
11:03 AM 6/14/2011
====================================
- Added optimized pngs in TOOLS tab
- Added clear files of working directories in TOOLS tab
- Added feature to add to open with menu, in "Edit" menu
- Added copy to phone and delete to phone function in phone explorer
- Added save column width on all listviews
- Changed UI for progress bar when executing commands
Version 1.0.2 (BETA)
12:33 PM 6/11/2011
====================================
- Added Phone Explorer in ADB TAB
----display system app and data app as initial
----able to copy files from those folders for now
----filter files and save last browse path in worstation
----some adb commands added to UI
- Added Apply Mods
- Added saving of TAB positions when exiting app
- Added save form positions for main and future phone explorer
- Added load input folder when APK Tab was pressed
- Moved all adb related commands in the Phone Explorer form
- Fixed error when double clicking list view without files
- Fixed deodexing rom zip picked from directory with spaces in file path
- Fixed editing bootclass files and adb files
- Changed SIGN to TOOLS, more sign commands in mouse Right Click
- Changed UI for folders and file list views
- Changed the way icons are shown when loading files, now associated
Version 1.0.1 (BETA)
3:34 PM 6/6/2011
====================================
- Fixed list files error when all items are deleted
- Fixed error on check uncheck option when no item is in the list
- Fixed deo rom directory clean up, will clear all source/deo directory
- Added capability to change apktool, smali and baksmali jar file versions
- Added experimental deodexed a full rom and create rom zip file
- Added more flexibility on selection method for files in the list
Version 1.0.0 (BETA)
11:30 PM 6/3/2011
====================================
- Initial release
- apk tool automation
- deodexing basics automation
- sign apk and zip commands
- adb commands- Initial release
- apk tool automation
- deodexing basics automation
- sign apk and zip commands
- adb commands
********************************************************
Acknowledgement:
********************************************************
My thanks to the support of the people here in xda and people who
appreciate my work in any way expressed, Cheers!!!
MGunther, JHatley
********************************************************
CREDITS:
********************************************************
Brut.all for Apktool - a tool for reengineering apk files
http://www.7-zip.org - 7za commandline version
- signapk.jar
- optipng http://code.google.com/p/roptipng/
- smali/baksmali
- JesusFreke, Daneshm90's script and crzyruski
- mogrify executable by ImageMagick
- http://www.imagemagick.org/script/index.php
- xeudoxus xUltimate Draw9Patch Compiler
- http://www.droidforums.net/forum/xeudoxus/47283-release-xultimate.html
XDA:DevDB Information
[TOOL] V4.0.3-xdaAutoTool ALL-Win | V5.0.0b-xdaautoAPKTool | V1.0.3-xdaautoDeoTool, Tool/Utility for the HTC Desire
Contributors
xavierjohn22
Version Information
Status: Testing
Created 2014-11-05
Last Updated 2014-11-04
xda AutoAPKTOOL
********************************************************
xda AutoAPKTOOL (xAAT)
CURRENT VERSION: 5.0.0b
********************************************************
LATEST DOWNLOAD: http://tweaksparadise.com/download/xavierjohn22/index.php?action=list&folder=2100
5th POST: MIUI smali hunting and images to be change + PSD sources
This tool has been tested MIUI XJ Rom HERE
Compile and Decompile APKS, Build language packs faster with many devices, N1, G7, Galaxy S, etc..
OBJECTIVE:
Main intention is to automate/batch processing decompiling and recompiling, flashable zip creation, etc
Initially made when translating miui apks and building lang pack
USAGE:
Run AutoAPKToolMain.bat
QUICK HOW TO:
THE 1-2-3-4 + 5 PROCESS
- Place ALL apks to decompile in _INPUT_APK folder
- Place the framework-res apk in the _INPUT_APK as well (filename: framework-res.apk)
- Choose 1 then hit enter for if framework-res.apk command
(note that framework-res.apk will always be in the _INPUT_APK folder)
- Choose 2 to decompile all in one shot
(this will create the resources and sources folder inside _INPUT_APK folder)
- Do your edits for all in that folder, add your values-en, values-pt, raw-en, etc.
You may add drawable-en-hdpi as well
Edit your strings.xml and many more...
Remember to keep the folder structure intact
After all edits are done
- Choose 3 and hit enter
This will recompile all in one shot
A notepad will appear to show if there are errors in recompiling, check the log
Adjust if necessary, you can choose to recompile a single folder if you need to
- Choose 4 to build usable APKs
All apks will be in the _OUT_APK folder (These will not FC)
All overwriting of files are automated
These APKs are from the Original apk with:
resource.arsc + classes.dex changed + other resources added
-Choose 5 (the fun part, lol)
It will build your flashable zip signed already, there's a template in the _FLASHABLES folder
You may edit it, replace it with the same name, just keep templates by renaming, place your build.prop there, etc
Read the text file thoroughly...
So that is the short story....
For other options and features read the ReadMeHistory.txt
FYI, read notes below (in _OUT_APKTOOL_DIST folder, those are build by APK Tool)
I manage to build APKs that don't FC in the _OUT_APKTOOL_DIST only that...... (see txt for complete explanation)
EXAMPLE 1: IMAGE
If you are overwriting an image in an APK (widget_1x.png)
_CUSTOM_RES
-MiuiMusic
--res
---drawable-hdpi
----widget_1x.png (this is the image i will overwrite)
Otherwise if you are adding folders no need to turn on "overwrite resources), put all your files in:
_INPUT_APK
-MiuiMusic
--res
---drawable-de-hdpi (this is the image folder i added)
----widget_1x.png
The Copy added resources "ON" will take care of copying these added resources or files
SOME EXAMPLES OF IMAGES AND FILES OVERRIDING:
"_CUSTOM_RES\AppShare\res\drawable-hdpi\installed.png"
"_CUSTOM_RES\Gallery\res\menu\media_context_menu.xml"
"_CUSTOM_RES\ThemeManager\res\drawable-hdpi\desktop_mask.png"
EXAMPLE 2: XML BINARY WHEN YOU DO DIRECT EDITS
Say you are editing a file straight from framework-res\res\drawable\progress_horizontal.xml
FOR NOW YOU HAVE TO DO THIS:
1) After doing [3], recompiling the apk
2) Copy the file _INPUT_APK\framework-res\build\apk\res\drawable\progress_horizontal.xml
to
_CUSTOM_RES\framework-res\res\drawable\progress_horizontal.xml
(this is the binary of your edited file, by doing this, you are telling the tool to overwrite it when building the apk)
3) Once this is done, make sure that "Overwrite res using _CUSTOM_RES" is ON, it is ON by default
4) then do build usable, It should overwrite those binaries in the APK
NOTES:
"Build Usable APKs" perform these depending on options
- overwrite resources.arsc (ON/OFF)
- overwrite classes.dex (ON/OFF)
- copy added resources (e.g. drawable-de-hdpi) (ON/OFF)
- overwrite any file in APK using _CUSTOM_RES (ON/OFF)
- copy optimized pngs to APK (ON/OFF) - EXPERIMENTAL @ the moment (20110503)
- -mx3 is the compression level for the meantime, i'll make it flexible after deotool and windows version
REQUIREMENTS:
- you must have java installed on your machine, you may even have it already, mine is this per the main log file
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
- tested on windows 7, x64 pc
- adb must be installed in the system, download the image attached to configure adb to be called globally in cmds
CREDITS
Brut.all for Apktool - a tool for reengineering apk files
http://www.7-zip.org - 7za commandline version
signapk.jar
optipng http://code.google.com/p/roptipng/
mogrify http://www.imagemagick.org/www/binary-releases.html#windows
guntherm6​6 for bringing mogrify close to this tool
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
********************************************************
AUTO APK TOOL CHANGELOG:
********************************************************
Version 5.0.0b
- Massive overhaul of codes
- New in this version is 87 and 88
87 = Can be use to remember single recompile of the last path (after 8)
Turn this ON and it will be active
88 = Is use to trigger the single recompile action
recompiling what is the last path
- Redo the recompile code
- Redo menu, starting from 21 is the new apktool 2.0.0.X settings
- 21 Use New apktool version
- 22 Use -f on recompile (this was migrated to work with new apktool and old apktool)
- 23 Use -c on recompile (this is new to work on new apktool)
- 24 Use -o on recompile (this is new to work on new apktool)
This will create a apkname_NEW.apk in _OUT_NEW folder
- 31 Overwrite resources.arsc
- 32 Overwrite classes.dex
- 33 Overwrite using _CUSTOM_RES
- 34 Copy added resources to APK
- 35 Make zipaligned apk from _OUT_APK
- 36 Force delete dir on Decompile (-f)
- 37 Optimized All PNGS in APKs
- 38 Optimized "xyz.9.png" PNGS in APKs
ISSUE:
- The ZIP Align is broken on some apks
- Use 42 ON but leave 43 and 44 off for now
- This will also be redo because the code right now zipaligns then sign
should be sign then zipalign
Version 4.0.2
- Added Menu 21 ON/OFF for new apktool support
- Changed Menu 22 ON/OFF settings saved, Overwrite resources.arsc
- Changed Menu 23 ON/OFF settings saved, Overwrite classes.dex
- Changed Menu 24 ON/OFF settings saved, Overwrite using _CUSTOM_RES
- Changed Menu 25 ON/OFF settings saved, Copy added resources to APK
- Changed Menu 26 ON/OFF settings saved, Make zipaligned apk from _OUT_APK
- Changed Menu 27 ON/OFF settings saved, Force delete dir on Decompile (-f)
- Changed Menu 28 ON/OFF settings saved, Force delete dir on Recompile (-f)
- Changed Menu 29 ON/OFF settings saved, Optimized All PNGS in APKs
- Changed Menu 30 ON/OFF settings saved, Optimized "xyz.9.png" PNGS in APKs
- Changed Menu 85 ON/OFF settings saved, Sign APKs after build themed apks
- Changed Menu 86 ON/OFF settings saved, Build a Flashable Theme Zip (after 84, 85)
version 4.0.1b
- Added support for new apktool 2.0.0b7
- Added menu 58, Open installed framework folder
- Improved colored menu to easily determine numbers from text
Colored_AutoAPKToolMain.bat = colored code
AutoAPKToolMain.bat = default code
- Obsoleted 13recompileICS.bat = 13recompileICS.bat.obsolete
- Obsoleted 14rebuildusableICS.bat.obsolete = 14rebuildusableICS.bat.obsolete
version 4.0.0
8:08 PM 12/20/2013
- Added autoinstall frameworks on application load
55, 56, 57
- chgcolor options for screen clarity (see acknowledgement in hep file)
- clean-up code for ICS decompile, unneeded file obsoleted but still on root directory
- clean-up menus and simplify terms on menus
- input text is set to yellow
- AutoAPKToolMain_Colored.bat is a colored text screen
- AutoAPKToolMain.bat is the original file (use this if _Colored fails on your system)
version 3.0.2
6:56 PM 8/19/2012
- Fixed displaying apktool version, remove 'if codes', now displays apktool name
as its version number, there's no need to change and add to this in the future
version 3.0.1
2:12 PM 8/4/2012
- Make the choosing of apktool version dynamic
- Your apktool must have "apktool" in the filename as prefix and obviously
extension is ".jar" (e.g. apktool_1.4.3.jar, apktool_1.3.1.jar)
- Fixed detecting apk before signing using option 43 and 44
version 3.0.0
10:09 PM 8/3/2012
- Option 42, 43, 44 explained
- Option 42, This is the raw APK tool output in dist (Without using my build apk)
_OUT_APKTOOL_DIST
- Option 43, This is the raw APK tool output then Zipaligned
_OUT_APKTOOL_DIST_ZIPALIGN
- Option 44, When 43 is ON, 44 is ON, the zipalinged apk gets signed
Option 44 wont work without 43 ON
There's a text file Sign_These_Then_Move.txt in _OUT_APKTOOL_DIST_ZIPALIGN
Apks listed here gets signed and moved to _OUT_APKTOOL_DIST_ZIPALIGN_SIGNED
modified by Agat63 03/31/12
version 2.0.4
1:31 AM 3/31/12
- Added decompile ICS apk
- Added recompile ICS apk
- Added baksmali JAR files
- Added baksmali DEX files
- Added smali JAR files
- Added smali DEX files
Version 2.0.3e
1:19 AM 7/5/2012
by xdaer Peteragent5
http://forum.xda-developers.com/showpost.php?p=27566198&postcount=811
- I've added the option to use: apktool_1.4.3.jar
- And I've updated the aapt.exe from latest Android SDK
(Android SDK Platfrorm Tools - Rev.11)
Version 2.0.3b/c/d
3:27 PM 10/24/2011
(d)
- Added flexibility of building flashable zip, will build according to folder name
- Redo folder structure in building themed apks
(b)
- Added create themed folders
- Added apply Hue and Saturation on pngs
(a)
- Added build all themed, apks in all folders _THEMES
- Added build one themed, apks in specified folder _THEMES
- Option to sign apks after build
- Option to make a flashable zip
Version 2.0.3
- Changed folder handling in mogrify commands
- Added option to sign apk after mogrify themed apks are build and zipalign
- Fixed signing apks/zip commands
Version 2.0.2
- Added mogrify.exe and mogrify features
(Ability to change hues of PNGs, see acknowledgements for mogrify usage)
- Move Following APK DIST generated apk commands to recompile
(Copy generated apks of apktool in _OUT_APKTOOL_DIST)
(Create Zipalign apks in _OUT_APKTOOL_DIST to _OUT_APKTOOL_DIST_ZIPALIGN)
Version 2.0.1
- Added saving settings of copy apks and generate zip aligns in dist gen apks
- Added saving settings of compression level
Version 2.0.0
- Added adb reboot commands
- Added script to save apktool version after changing and use that on start of app
- Added option to only zipalign apks placed in the _OUT_APK folder
- Added move apks from _OUT_APK_ZIPALIGN to _OUT_APK
(useful before building flashable zip)
Version 1.0.9
- Added option to generate zipalign apks after each recompile
- goes to _OUT_APKTOOL_DIST_ZIPALIGN
- Separate option for apktool generated apks
Version 1.0.8
- Added option to toggle copying of apk from DIST folder of apktool gen directory
- Added zip align apks (generated apk from _OUT_APK to _OUT_APK_ZIPALIGN)
- Added setting of compression level
- Added Delete "folder name" of mod file text file
___If you have "Mod1" folder the file should be "Delete_Mod1.txt"
___Sample line in the text file is "AppShare\res\drawable-hdpi\installed.png"
___No need to specify the _INPUT_APK folder
___It will delete any file in that path once listed in the text file
- Fixed code jumping over optimization of pngs
Version 1.0.7
- Added install additional resources
Version 1.0.6
- Added more adb functions
- Added request for mods folders
- Fixed error handling when "Enter" key is pressed without choice
- Fixed menu choices for blank entry and "Enter" key is pressed as well
- Fixed mod folders applying only the last folder in menu
Version 1.0.5
- Added apktool 1.4.1, see brut's site for changelog
(Make sure you also have the aapt file from the latest migration notes)
http://code.google.com/p/android-apktool/downloads/list
- Added Single Recompile then Build
- Added adb commands and tools, you must have ADB installed and configure already,
(download "configure_adb_to_be_called_anywhere_in_cmd.rar")
- Reorganized menu for future improvements
Version 1.0.4
- Added optimized "xyz.9.png" in APKs option
Version 1.0.3
- Fix menu handling for option 19 to 21
- Changed "u" switch to "a" for handling copy added resources
- Added optimized PNGs in APKs option
Version 1.0.2
- Initial release
xda AutoDeodexTOOL
********************************************************
xda AutoDEODEXTOOL (xADT)
CURRENT VERSION: 1.0.3
********************************************************
LATEST DOWNLOAD: http://tweaksparadise.com/download/xavierjohn22/index.php?action=list&folder=2100
OBJECTIVE:
Automate/batch processing of deodexing jars and apks (odexed rom)
USAGE:
Run AutoDEOToolMain.bat
IMPORTANT:
- PLEASE AVOID SPACES IN THE TOOL FOLDER PATH FOR NOW
- Good path use underscores or only letters, nos. (L:\TOOL\AutoDEOTool1.0.1)
- Some of the APKs does not like the -mX optimization so watch for those
QUICK HOW TO:
To deodex framework files,
- Place the JARs and corresponding ODEX files in the directory "_framework".
- Otherwise, place deodexed framework JARs into the directory "deodexed_JAR".
To deodex APK files,
- Place the APKs and corresponding ODEX files in the directory "_app".
(1) is for stock android deodexing
(2) is for non stock, such as sense, miui where you can put a custom bootclasspath
(3 to 6) options are for deodexing apks only or jars with 1 and 2 functionality
Options to change between smali-baksmali versions
NOTES:
- Basic out is performed by the tool and classes.dex is just added to the jar/apk
- No compression feature yet for that would be a separate option, i turned it off for FC with miui soundrecorder apk
REQUIREMENTS:
- you must have java installed on your machine, you may even have it already, mine is:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
- tested on windows 7, x64 pc
CREDITS
CREDITS:
- JesusFreke, Daneshm90's script and crzyruski Auto-Deodexer
- 7za commandline version http://www.7-zip.org
- sggua @ xda (Sergiy G) http://sgg.im/
********************************************************
AUTO DEODEX TOOL CHANGELOG:
********************************************************
Version 1.0.3
sggua @ xda
http://sgg.im/
- New smali/backsmali version 1.3.2
- API number for right deodex
Version 1.0.2
- Added optimized JARs and APKs option
- Added compression level, functioning separately
- Added clean folders
- Fixed compression levels when -a for all called batch
Version 1.0.1
- Initial Release
- Deodex stock and custom bootclass jars and apks of a rom
- Deodex stock and custom bootclass apks only
- Deodex stock and custom bootclass jars only
i love you
These are some of the smalis you need to change
Posted here during MIUI Ver 1.4.22/1.5.6
(this means, it may change next week, anyways basics are posted)
Use Beyond Compare or other folder, file comparer, for comparing changes
Use Windows Grep for hunting down other smalis in the future
If you got chinese character and you have translated all in strings, arrays, raw, etc.., it is most likely to be in the smali files
Backup
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Backup\smali\com\miui\backup\ui\LocalBackupMain.smali
Code:
const-string v1, "yyyy\u5e74MM\u6708dd\u65e5 HH:mm:ss"
const-string v1, "yyyy MM dd HH:mm:ss"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Backup\smali\com\miui\milk\ui\PreferenceCloudBackup.smali
Code:
const-string v1, "yyyy\u5e74MM\u6708dd\u65e5 HH:mm"
const-string v1, "yyyy MM dd HH:mm:ss"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Backup\smali\com\miui\milk\ui\ProgressResultActivity.smali
Code:
const-string v1, "yyyy\u5e74MM\u6708dd\u65e5 HH:mm"
const-string v1, "yyyy MM dd HH:mm:ss"
FileExplorer
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\FileExplorer\smali\com\android\fileexplorer\Util.smali
Code:
const-string v2, "\u7167\u7247"
const-string v2, "MIUI Camera Shots"
const-string v2, "SD\u5361"
const-string v2, "SD Card"
const-string v2, "MIUI\u622a\u5c4f"
const-string v2, "MIUI Screenshots"
const-string v2, "\u94c3\u58f0"
const-string v2, "Downloads"
Gallery
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\app\AppHelper.smali
Code:
const-string v3, "\u25cf"
const-string v3, "Menu" or const-string v3, "Sort"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\fileexplorer\FileViewInteractionHub$5.smali
Code:
const-string v8, "\u8bbe\u7f6e\u58c1\u7eb8"
const-string v8, "Use as wallpaper"
const-string v9, "\u8bbe\u4e3a\u684c\u9762\u58c1\u7eb8"
const-string v9, "Set as desktop wallpaper"
const-string v9, "\u8bbe\u4e3a\u9501\u5c4f\u58c1\u7eb8"
const-string v9, "Set as lockscreen wallpaper"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\ui\FolderViewActivity$6.smali
Code:
const-string v2, "\u91cd\u547d\u540d\u5931\u8d25"
const-string v2, "Rename failed"
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Gallery\smali\com\android\gallery\ui\InformationDialog.smali
Code:
const-string v18, "\u89c6\u9891\u5c5e\u6027"
const-string v18, "Video properties"
const-string v18, "\u56fe\u7247\u5c5e\u6027"
const-string v18, "Video properties"
const-string v5, "\u89c6\u9891\u5c5e\u6027"
const-string v5, "Video properties"
const-string v5, "\u56fe\u7247\u5c5e\u6027"
const-string v5, "Image properties"
+ this xml file in Gallery
\Gallery\res\menu\media_context_menu.xml
Code:
<item android:id="@id/rename" android:title="???" />
<item android:id="@id/rename" android:title="Rename" />
Launcher2
Make your own workspace in desktop
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Launcher2\res\xml\default_workspace.xml
MiuiCamera
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\MiuiCamera\smali\com\miui\camera\ui\PictureSizePreferenceActivity.smali
Code:
const-string v10, " (\u5168\u5c4f)"
const-string v10, " (Full Screen)"
MiuiMusic
I don't change and remove tabs in MiuiMusic, it's okay for us here in Singapore
Don't forget to translate plurals.xml too
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\MiuiMusic\res\values\plurals.xml
Mms
translate
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Mms\res\raw-en\sms_frequently_used_phrase
to remove the third tab
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Mms\smali\com\android\mms\ui\MmsTabActivity.smali
remove these lines:
Code:
----------------------------
.method static constructor <clinit>()V
.locals 1
.prologue
.line 22
const/4 v0, 0x0
sput-boolean v0, Lcom/android/mms/ui/MmsTabActivity;->sPasswordConfirmed:Z
return-void
.end method
-----------------------------
.method private setupRecommendationTab()V
.locals 4
.prologue
.line 95
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
.line 96
const-class v1, Lcom/android/mms/ui/FestivalSmsCategoryList;
invoke-virtual {v0, p0, v1}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;
.line 97
iget-object v1, p0, Lcom/android/mms/ui/MmsTabActivity;->mTabHost:Landroid/widget/TabHost;
iget-object v2, p0, Lcom/android/mms/ui/MmsTabActivity;->mTabHost:Landroid/widget/TabHost;
const-string v3, "festival"
invoke-virtual {v2, v3}, Landroid/widget/TabHost;->newTabSpec(Ljava/lang/String;)Landroid/widget/TabHost$TabSpec;
move-result-object v2
const v3, 0x7f090135
invoke-virtual {p0, v3}, Lcom/android/mms/ui/MmsTabActivity;->getText(I)Ljava/lang/CharSequence;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/widget/TabHost$TabSpec;->setIndicator(Ljava/lang/CharSequence;)Landroid/widget/TabHost$TabSpec;
move-result-object v2
invoke-virtual {v2, v0}, Landroid/widget/TabHost$TabSpec;->setContent(Landroid/content/Intent;)Landroid/widget/TabHost$TabSpec;
move-result-object v0
invoke-virtual {v1, v0}, Landroid/widget/TabHost;->addTab(Landroid/widget/TabHost$TabSpec;)V
.line 99
return-void
.end method
-----------------------------
.line 45
invoke-direct {p0}, Lcom/android/mms/ui/MmsTabActivity;->setupRecommendationTab()V
Notes
Introduction translation
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\Notes\res\raw\introduction
Settings
if you are en base provide html helpfile for tethering too
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Settings\assets\html\en\tethering_help.html
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Settings\assets\html\en\tethering_usb_help.html
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_TEMP\_INPUT_APK\Settings\assets\html\en\tethering_wifi_help.html
Sidekick
L:\_000 _MIUI_ROMs\000_AUTOAPKTOOL_EN\_INPUT_APK\SideKick\smali\com\android\sidekick\InputHistoryAdapter.smali
Code:
const-string v2, "\u4eca\u5929"
const-string v2, "Today"
const-string v2, "\u6628\u5929"
const-string v2, "Yesterday"
IMAGES that needs to be taken care of,
Decompile my Updates or Full ROM apks and grab the images there if you want to use it
xavierjohn22 said:
LOL, i was looking for your email in android but never found it, so i posted it here, ha ha ha
Click to expand...
Click to collapse
Haha, you made my day!!! b2t: very nice work, love this new toy. Makes the translation work faster then before.
How to set-up System Update with MIUI
1. Set-up your server
2. Modify the Update.apk smali file pointing to your json file
3. Make your json file and upload it to the server
4. Upload your files (see folder structure)
5. Optional grab my ota binary in xbin, it's from atroy of china, else make your own ota binary
If this will prevent the boot loop of cooked framework s, this is extremely useful indeed. Thank you
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
droidzone said:
If this will prevent the boot loop of cooked framework s, this is extremely useful indeed. Thank you
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
Click to expand...
Click to collapse
kindly feedback when you try it, thanks dude
xavierjohn22 said:
kindly feedback when you try it, thanks dude
Click to expand...
Click to collapse
Will definitely do that..
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
@XJ When i read this it's a little abracadabra...
Is it what you're saying we can make our ohne language pack?
Just folow the steps and make your ohne NL pack (in my case) whenever you want and we can adjust it whenever we want?
Raffie75 said:
@XJ When i read this it's a little abracadabra...
Is it what you're saying we can make our ohne language pack?
Just folow the steps and make your ohne NL pack (in my case) whenever you want and we can adjust it whenever we want?
Click to expand...
Click to collapse
Yes.
Just grab a deodexed miui rom,
Follow what is in the OP, then you have your language pack, i did it to let others try to make their own.
and it relieves me of human error when translating and making multi lang in MIUI, that why we dont usually get chinese strings, only in some smali's left out when new ones come along
Man, you are the master!
Can't i put the translated (say the strings) in the right folder and start with step 2 or i think 3 recompile? Or maybe use the Latest translation and wipe all the other languages?
Sent from my HTC Desire using Tapatalk
Raffie75 said:
Man, you are the master!
Can't i put the translated (say the strings) in the right folder and start with step 2 or i think 3 recompile? Or maybe use the Latest translation and wipe all the other languages?
Sent from my HTC Desire using Tapatalk
Click to expand...
Click to collapse
Yes you can do both
yup if you do the first grab the stock apks from a deodexed rom, same version. or grab the apks from my EN and ZH rom
then yeah put your values-nl, raw nl in the right places.
the next one will work too. and you can see how the folders are structure after decompile in the framework-res, so it will aid you in committing mistake
after that both will result in lesser size apks than the multi lang since you just have your language
droidzone said:
Will definitely do that..
Swyped with my Starburst based Desire. Please ignore any typos or grammos.
Click to expand...
Click to collapse
Okay. Buddy.thanks.
Sent from my HTC Desire using XDA App
Nice tool xavierjohn
While apk manager faild to recompile my apks this works.
But my xml edits aren't in apk after recompile. Why?
What option should i change?
affmalg said:
Nice tool xavierjohn
While apk manager faild to recompile my apks this works.
But my xml edits aren't in apk after recompile. Why?
What option should i change?
Click to expand...
Click to collapse
What kind of xml dude?
Is it inside the values? I mean you straight edit from values? Or any folder?
Sent from my HTC Desire using XDA App
xavierjohn22 said:
What kind of xml dude?
Is it inside the values? I mean you straight edit from values? Or any folder?
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
Sorry that i didn't mention it.
The xml i edited were was framework-res/res/value/styles.xml and framework-res/res/drawable/progress_horizontal.xml
I opened i with notepad++ and edited a color hex code, saved and recompiled.
What do you mean with folder?
Thanks a lot for the tool. I m gonna give it a try tomorrow while preparing the greek pack for the latest MIUI
affmalg said:
Sorry that i didn't mention it.
The xml i edited were was framework-res/res/value/styles.xml and framework-res/res/drawable/progress_horizontal.xml
I opened i with notepad++ and edited a color hex code, saved and recompiled.
What do you mean with folder?
Click to expand...
Click to collapse
Ah sorry too, i was not clear either.
Usually i do values-en or values-zh or drawable-en when i do translation in miui.
Anyways, it should save the changes upon recompile.
During build usable make sure:
Overwrite resources.arsc : (10) = ON
Overwrite classes.dex : (11) = ON
10, mostly handle those edits in values xml files
11, when smali edits are made
EDIT:
Ah shocks wait, i am looking at it, seems like i turned it off by bypassing the script

[MOD] Browser By Vgeezy

Hello yes the user name says Blunttedsmurf, but I am Vgeezy from the Thrive Tablet community. Since there is nothing for the Thrive here, I'm putting my mod here. I came here to share how to change your default useragent on your stock browser to desktop permanently without messing with anything else. You will still be able to select other user agents but your default will be desktop if you restart or reboot your device. My method does not require you to mess with the framework-res.apk or the framework.jar. Messing with those files cause your platform to FCs, reboots, and other apps depend on your system useragent to stay mobile in order to work properly. I'm on honeycomb 3.2 so you're results and findings may vary. Before you try watch my proof on youtube click the the link:
MODBrowser!! Finally
Try at your own risk!!! I am not responsible for your machine!!!
Make backups
What You Need
1. Browser.apk
2. Apk Manger, or your choice of apk decompiler
3. Notepad ++
4. A little know how!!!
How To Mod
1. Decompile the browser.apk
2. locate the BrowserSettings.smali (mine was in) smali\com\android\browser\
3. Open it in notepad ++
4. Under: .method private constructor <init>()V
5. Find:
.line 105
iput v2, p0, Lcom/android/browser/BrowserSettings;->userAgent:I
6. Change to:
.line 105
const/4 v1, 0x1
iput v1, p0, Lcom/android/browser/BrowserSettings;->userAgent:I
7. save your work, recompile the apk, sign it.
8. Uninstall your browser.apk and install the Mod.
9. Enjoy!!!!!
All you are doing is inputting choice 1 at the time of creation, restart, and reboot. If your choice for desktop useragent is not the second choice under android then you must figure out what number it is and change 0x1 to what ever number it is i.e. 0x2. Just remember android/mobile is and always choice 0.
TRY AT OWN RISK, TIS APK IS ONLY MENT FOR Honeycomb 3.2 and 3.1 ROOTED!!! I AM NOT RESPONSIBLE FOR YOUR MACHINE
WHAT YOU NEED
To be ROOTED
MODBROWSER.APK
And A lil know how
INSTALLATION:
1. Download and put the zip on an SD card
2. Insert the SD card into your device, and power off the device
3. Restart your device in recovery and select fastboot
4. Select install zip from sdcard, then choose zip from sdcard, then choose External SD Card
5. Reboot your device and enjoy!!!
Update-
1. I made it a flashable update (easier)
2. I changed xml files to reflect useragent and zoom choice as desktop and far, so it will not mess up if you select settings.
+++YOU'LL FIND UAString TAB UNDER SETTINGS.+++
YES IT DOES STAY AFTER YOU CLOSE THE BROWSER, AND AFTER A REBOOT!
# Note # It may not create a icon on your home screen but it is on the apps page, just drag it to your home page
MODBrowser3.2.b2.zip (Meant for 3.2 platform)
MODBrowser3.1.b1.zip (Meant for 3.1 platform)
Please give me feedback
I AM VGEEZY
All my work will be on here and Thriveforums .org from now on. Yes I am the same Vgeezy that did Netflix patch, and flash mod. Currently working on HBOGO.apk....

Categories

Resources