[Galaxy S II Themes and Apps] davidwilson83:
Now if you have a ROM that doesn't currently support % battery icons, then this next section if for you. You will need to use a program like APK Tool to decompile your SystemUI.apk, but before you do that you will need to install the Android SDK and the JRE. If you don't know how to do this, then have a look at this post & video on how to download and install the correct components.

You will need to have APK Tool installed to ddecompile and recompile, and if you click on the link that will guide you through how to install that.

Once that is installed you will need to copy SystemUI.apk from /system/app onto your computer, and then you will need to move it to the folder place-apk-here-for-modding which is inside your new APK Tool folder.

Once the apk is in that folder, go back one level to the main folder of APK Tool and click on Script.bat and a Windows Command Prompt should open up with a bunch of green writing.

Type 22 in the Please make your decision: field which will Set current project and press Enter. Now type in the number to the left of SystemUI.apk and press Enter. You should be back on the main screen of the APK Tool script, and up the top on the right it should say Current-App: SystemUI.apk .

Now in the Please make your decision: field type 9 which is for Decompile apk and press Enter. APK Tool will now decompile your SystemUI.apk (this can sometimes take a while). When that is finished, close the script window and double click on the folder projects. When this opens, double click on SystemUI.apk .

Now double click on res. You will see a number of folders. The battery icons that you downloaded or made before, copy them all into drawable-hdpi and say yes to overwrite any battery icons that were previously in the folder. Go back one level to res and then double click on drawable and when that opens up, double click on stat_sys_battery.xml to open it with Notepad++. When that opens, you should see the following:

Notice how there are only a few lines on there with different levels of max battery?

We need to change this to have all 101 levels of battery (from 0 to 100). This may take a while, but you need to make sure that every number from 0 to 100 has it's own line. Your end result should look like this:

<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49" />
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
</level-list>

You will then need to save and close the file. Now that you have done that, it should mean that once you have flashed that file, you will have a different icon show for each percentage that the battery loses while it's discharging. Once that's done, you will need to do the same for stat_sys_battery_charge.xml and again every number from 0 to 100 needs its own line. Your end result should look like this:

<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_charge_anim0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim49" android:maxLevel="499" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim100" android:maxLevel="100" />
</level-list>

Again save and close the file. What you have just done will give you an icon for every percentage that the battery recharges. On JKay's Deluxe framework, the icon fills up every second or 2 and displays the percentage that it has charged to so far. I can show you how to do that, but it takes a lot more coding that what we have done above. If I get enough requests then I may do that for you, we'll see.

Ok so once you have edited and saved both of those files, you will need to go back to the main folder of APK Tool and click on Script.bat . Once that opens, choose option 22 again and press enter. When you see the list of apks that are available for modding, type the number to the left of SystemUI.apk and press enter.

You should now be back on the main screen of the script. Type 11 for Compile apk and press enter. The words Building apk should now appear down the bottom of the script screen. Be patient, this can sometimes take a while.

Once it has finished building (you shouldn't get any errors) it will ask 'Is this a system apk?' to which you type y and press enter.

After you do this it will ask 'Aside from the signatures, would you like to copy over any additional files that you didn't modify from the original apk in order to ensure least # of errors' to which you type n and press enter.

Then APK Tool will do it's thing and you will be back on the main screen of the script. Close the script window and double click on the place-apk-here-for-modding folder. When inside that folder you should have a new apk called unsignedSystemUI.apk which is your newly modified apk. You will need to right click on this, hover over 7Zip and select Open archive.

When the new window opens, double click on res, then drawable and highlight stat_sys_battery.xml and stat_sys_battery_charge.xml and drag them both either onto your desktop or into a separate Mods folder (or something simliar). We will need to use these files soon.

There are 2 ways to apply the changes to your phone. You can either use a flashable zip (which I have attached), you can take the xml files out of this new apk and drop them into your original apk, push it to /system/app, change the permissions and restart your phone.

The first one is the one I use, it is the most easy for me. The flashable zip that I have attached is a VRTheme zip.

Flashable Zip

What you need to do is save the zip onto your computer and open the archive with 7Zip. When that opens, double click on vrtheme, then double click on system, then double click on app. Again you will see a folder called SystemUI.apk.

Double click on SystemUI.apk then double click on res and you will see 2 folders, drawable and drawable-hdpi.

You need to drag the 2 xml files that we just took out of our modded apk into drawable and then you need to drag all of your battery icons into drawable-hdpi.

*EDIT* I've been told by a very knowledgable source (thanks Spannaa) that it's a good idea to include the new resources.arsc into the zip because if you ever decompile SystemUI.apk again, any of the PNGs that are not in the original apk will be removed. When including resources.arsc to the zip file it needs to be added without compression. I use Winrar just for resources.arsc when creating new flashable zips.

Now you need to close the archive window. This will save the zip file. Then connect your phone to the computer, drag the zip file onto the internal SD card of the phone and wait for the media scanning to complete. Then you can reboot to recovery, flash the zip file and reboot the phone and you should see your nice new % battery icons. Done!

The second way that you can apply the changes to your phone is to drag the newly modded xml files and the icons into the original SystemUI.apk and push that to /system/app. Ok so what you have to do is go into the APK Tool main folder and then double click on place-apk-here-for-modding. Find SystemUI.apk and copy it onto your desktop.

Then you need to right click on SystemUI.apk, hover over 7Zip and click Open archive.

When this opens you need to double click on res. If you haven't already done it, then double click on drawable-hdpi and drag all of the battery icons that you have downloaded/made into the folder. Once that's done, go back one level to res.

Now double click on drawable. Drag your modified stat_sys_battery.xml and stat_sys_battery_charge.xml into this folder. Now close the window.

Connect your phone to the computer and open the explorer that allows you to see what's in your phone on your computer screen. Now drag your newly modded SystemUI.apk into your phone's internal SD card folder.

Once this is done you can unplug the phone from the computer & open up your file explorer. Navigate to your newly modded SystemUI.apk & move it to /system. Once that is done navigate to /system.

Now find the SystemUI.apk that you have modified & long press on it to bring up the menu. Click on Properties.

When you click on Properties a new window will open up which looks like this.

Notice how the permissions are set to rw- rw- rw-? This needs to be changed. So click on the Change button.

Once you have done that, you will see a new window which looks like the screenshot with a bunch of check boxes and ticks in some of them. We need to uncheck the ticks in the write column in the Group row and the Other row. Yours should now look like this. Click OK.

Now notice how the permissions have changed to rw- r-- r--?This is what we want.

Now long press on SystemUI.apk and select Move To and move it to /system/app.

A window will appear asking if you are sure that you want to overwrite your existing SystemUI.apk. Click yes.

Now restart the phone. And once it reboots, you will be left with your new % battery icon!

I hope you found this guide helpful. If you did you may click the Thanks button to show your appreciation. If you don't want to then that is fine, a simple reply to the thread to let me know if it worked for you would make me happy.

A few thanks are needed to be given:

shayne77 - for his Battery Mod Tool

_JKay_ - for his brilliant Deluxe framework and Deluxe Settings apk

Spannaa - for giving me the knowledge to do this guide and for being an all around helpful awesome guy

Thanks XDA, enjoy.

Dave