Hi
I found the simple way to change the icons and names of applications on Samsung's TouchWiz UI.
you need to know about how to edit an apk and also how to find the application's package and activity names.
0-Download my attached file.
1-Decompile CSCAppResource.apk
2-add all your favorite icons to drawable folder.
2a= if you want to change the application's name too, check this post! [updated 1st august 2013 ]
3-Compile and Sign it.
already , you have CSCAppResource.apk with all icons , you added from above steps.
now , you need to decompile your edited CSCAppResource.apk file, after decompiling, goto Values folder and open the public.xml file vith Notepad++.
now you will find it like this one,, this is an example;
PHP:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="drawable" name="amestris_test" id="0x7f020000" />
</resources>
------------------------------------------------------
4-now create a xml file and paste below lines into it.
PHP:
<?xml version="1.0"?>
<cscappresource>
</cscappresource>
save it with CSCAppResource.xml file name.
------------------------------------------------------
5-now we want to add Icon for specific application. for example we want to change the icon for Browser.
the Browser application activity name is " com.android.browser ".
now we will define the Icon for Browser activity. see below example.
back to "CSCAppResource.xml" file and add this line between cscappresource tag.
PHP:
<item name="com.android.browser" iconid="7f020000"/>
at final we have the "CSCAppResource.xml " like this one.
PHP:
<?xml version="1.0"?>
<cscappresource>
<item name="com.android.browser" iconid="7f020000"/>
</cscappresource>
--------------------------------------------
save the file and copy CSCAppResource.xml and CSCAppResource.apk to this folder:
Code:
/system/csc/appresource
** you need to create "appresource" folder, if not exists.
give permissions to folder and files then reboot your phone.
i will share some samples in post #two.
Best Regards.
original thread
http://www.pda-planet.com/forum/forum127/thread5929.html
CUSTOM ICON PACKS
1-Sence5 Icon Pack by wildstang83--------------------------------------------------------
How to apply this iconpack from custom recovery mod? [CWM Update.zip file]
Download the attached file "IconPack_Sample_CWM.zip"
Extract it via WinRar or 7Zip, copy your edited files into " \system\csc\appresource" folder and zip it.
now you can install it from recovery.
it is compatible with all phones.
**custom recovery is need.
--------------------------------------------------------
Icon Pack Convertor by LegendM
Click to view the post
--------------------------------------------------------
This is an sample:
PHP:
<?xml version="1.0"?>
<cscappresource>
<item name="com.android.browser" iconid="7f020012"/>
<item name="com.android.settings" iconid="7f02004f" />
<item name="com.android.phone" iconid="7f020046" />
<item name="com.android.mms" iconid="7f02003a" />
<item name="com.android.email" iconid="7f02001d" />
<item name="com.android.providers.downloads.ui" iconid="7f02001c" />
<item name="com.android.provider.smemo" iconid="7f020045" />
<item name="com.sec.android.widgetapp.diotek.smemo" iconid="7f020045" />
<item name="com.android.contacts" iconid="7f020018" />
<item name="com.android.contacts.activities.DialtactsActivity" iconid="7f020046" />
<item name="com.android.contacts.activities.PeopleActivity" iconid="7f020018" />
<item name="com.sec.android.app.dialertab.calllog.CalllogTipsActivity" iconid="7f020034" />
<item name="com.sec.android.app.camera" iconid="7f02000f" />
<item name="com.sec.android.app.camera.Camera" iconid="7f02000f" />
<item name="com.sec.android.gallery3d" iconid="7f020024" />
<item name="com.sec.android.app.launcher" iconid="7f020003" />
<item name="com.sec.android.app.controlpanel" iconid="7f02002e" />
<item name="com.sec.android.app.videoplayer" iconid="7f02005d" />
<item name="com.sec.android.app.voicerecorder" iconid="7f020061" />
<item name="com.sec.android.app.music" iconid="7f02003f" />
<item name="com.sec.android.app.myfiles" iconid="7f02001f" />
<item name="com.sec.android.app.fm" iconid="7f020021" />
<item name="com.sec.android.app.popupcalculator" iconid="7f020008" />
<item name="com.sec.android.app.clockpackage" iconid="7f020015" />
<item name="com.android.vending.AssetBrowserActivity" iconid="7f02004a" />
<item name="com.android.vending" iconid="7f02004a" />
<item name="com.google.android.finsky.widget.recommendation.RecommendedWidgetProvider" iconid="7f02004a" />
<item name="com.google.android.finsky.FinskyApp" iconid="7f02004a" />
<item name="com.android.vending.MarketWidgetProvider" iconid="7f02004a" />
<item name="com.google.android.finsky.widget.consumption.NowPlayingWidgetProvider" iconid="7f02004a" />
<item name="com.opera.mini.android" iconid="7f020043" />
<item name="com.noshufou.android.su" />
<item name="com.sds.android.ttpod" iconid="7f020059" />
<item name="net.cactii.flash2" iconid="7f020020" />
<item name="com.android.calendar.launchactivity" iconid="7f02000b" />
<item name="com.android.calendar.LaunchActivity" iconid="7f02000b" />
</cscappresource>
I have a couple of quick questions first though. Does it matter what the icons are named? Like ic_launcher.png, etc...
Also, I see where you say place both the .apk and the .xml into /system/csc/appresource, but I don't have an appresource folder on my Note II. What should I do?
Looks interesting, can't wait to try it out after your reply
wildstang83 said:
I have a couple of quick questions first though. Does it matter what the icons are named? Like ic_launcher.png, etc...
Also, I see where you say place both the .apk and the .xml into /system/csc/appresource, but I don't have an appresource folder on my Note II. What should I do?
Looks interesting, can't wait to try it out after your reply
Click to expand...
Click to collapse
1- it doesn't matter about the names, you just link the icon's ID from public.xml to activity. also you can see the example from second post.
2-you need to create appresource folder manually, it doesn't exists on any firmware.
M_J_Nazari said:
1- it doesn't matter about the names, you just link the icon's ID from public.xml to activity. also you can see the example from second post.
2- if not exists , then create appresource folder manually.
Click to expand...
Click to collapse
Appreciate that. Gonna try it out right now :good:
wildstang83 said:
Appreciate that. Gonna try it out right now :good:
Click to expand...
Click to collapse
you're welcome , you can test the sample from second post.
M_J_Nazari said:
you're welcome , you can test the sample from second post.
Click to expand...
Click to collapse
Yea thats what I am doing, just having a look at how you did it and everything. It works btw. You did a good job with this bud.
EDIT: I have the VZW Samsung Galaxy Note II i605 and it works perfectly.
Trust me I'm searching for this long time
I try create an small windows app that read apex ,go launcher icons and convert them to touchwiz
wildstang83 said:
Yea thats what I am doing, just having a look at how you did it and everything. It works btw. You did a good job with this bud.
EDIT: I have the VZW Samsung Galaxy Note II i605 and it works perfectly.
Click to expand...
Click to collapse
:good: its my pleasure.
LegendM said:
Trust me I'm searching for this long time
I try create an small app that read apex ,go launcher icons and convert them to touchwiz
Click to expand...
Click to collapse
I'll hope you find it perfect.
we are waiting for your job.
i searching a long time for this method and finally find this way is working. it seems an hidden Touchwiz feature.
Edit:Here you go small tool ( may be buggy,report bugs via pm)
LegendM said:
Ok,I made a small app,It extract apk files
Read from xml file and create new one
Now main problem is how can I sign zip?
Click to expand...
Click to collapse
how you edit apk file?
How to setup APKTool & Decompile, Recomile, Sign, and Zipalign APKs
[Guide] [Apktool] [Drag2sign] guide for decompiling apks to edit xml files & sign apk
[GUIDE] Signing and zipaligning your app
LegendM said:
Ok,I made a small app,It extract apk files
Read from xml file and create new one
Now main problem is how can I sign zip?
Click to expand...
Click to collapse
Basically you will need to create a key to sign the apk with. Assuming you have the android sdk and the JDK installed and in your path, you need to open terminal and run a command to create a key:
Code:
keytool -genkey -v -keystore android-test.keystore
Now that that is created you need to create a directory in which to sign your apk. I created mine on my desktop and called it sign_apk. So then I moved my key to that sign_apk folder on my desktop, along with my unsigned apk. After that you need to run another terminal command to sign the apk:
Code:
cd [path to sign_apk]
jarsigner -verbose -keystore android-test.keystore CSCAppResource.apk mykey
It will ask for the password you used while you were setting up your key. After you enter your password, it will sign the apk and all will be good.
Keep in mind, I am an OSX user so certainly not all things may be the same for all users, but this should get you closer at least
wildstang83 said:
Basically you will need to create a key to sign the apk with. Assuming you have the android sdk and the JDK installed and in your path, you need to open terminal and run a command to create a key:
Code:
keytool -genkey -v -keystore android-test.keystore
Now that that is created you need to create a directory in which to sign your apk. I created mine on my desktop and called it sign_apk. So then I moved my key to that sign_apk folder on my desktop, along with my unsigned apk. After that you need to run another terminal command to sign the apk:
Code:
cd [path to sign_apk]
jarsigner -verbose -keystore android-test.keystore CSCAppResource.apk mykey
It will ask for the password you used while you were setting up your key. After you enter your password, it will sign the apk and all will be good.
Keep in mind, I am an OSX user so certainly not all things may be the same for all users, but this should get you closer at least
Click to expand...
Click to collapse
Check my post and report bugs please :laugh:
I skip sign zip,people can do that manually,it just create xml file
LegendM said:
Edit:Here you go small tool ( may be buggy,report bugs via pm)
Click to expand...
Click to collapse
could you please explain it better?
it will convert icon packs from another Launchers to Touchwiz?
:good::good::good::good::good: yaaaay amazing guide bro
Got my Note ll looking like Sense 5
M_J_Nazari said:
could you please explain it better?
it will convert icon packs from another Launchers to Touchwiz?
Click to expand...
Click to collapse
Yep
You have to read other launcher apk file
It automaticly read xml file and create new one for touchwiz
Also you can find extracted apk file in my documents/touchwiz icon converter folder
LegendM said:
Yep
You have to read other launcher apk file
It automaticly read xml file and create new one for touchwiz
Also you can find extracted apk file in my documents/touchwiz icon converter folder
Click to expand...
Click to collapse
its an amazing tool :X:good:
Good,
Work perfec in s3mini
Sent from my GT-I8190 using Xparent Blue Tapatalk 2
this is the easiest apk decompiler i know as of now
http://www.youtube.com/watch?v=5-u0UI9LsrY
Related
Hi,
I fixed up apktool to accept v13 apks. Thats all there is to say I submitted my patch to Brut.all, but for the time beeing, I'll attach the binary and the according Source patch here. Have fun with it ... and let the Hacking/Themeing begin.
You rock.
Sent from my Xoom using Tapatalk
can I just trow this with my other apktool, in platform tool?
MitchTank said:
can I just trow this with my other apktool, in platform tool?
Click to expand...
Click to collapse
Yes, but you need to install your 3.2 framework-res.apk by apktool if and have the newest aapt in PATH, otherwise its a drop-in replacement.
thanks, top work
Well done, thanks for this!
I still can't seem to get that systemui.apk anyone able to decode?
zone23 said:
I still can't seem to get that systemui.apk anyone able to decode?
Click to expand...
Click to collapse
you need to apktool if framework3.2-res.apk
otherwise it cannot decode the new values
I can decompile new setings.apk now, but cant build again!
Code:
d:\hapk>hnytool b ./settings
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
invalid resource directory name: d:\hapk\.\settings\res/layout-sw600dp
invalid resource directory name: d:\hapk\.\settings\res/layout-sw600dp-land
invalid resource directory name: d:\hapk\.\settings\res/layout-sw720dp
invalid resource directory name: d:\hapk\.\settings\res/values-sw600dp
invalid resource directory name: d:\hapk\.\settings\res/values-sw600dp-land
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\ADMIN\AppData\Local\Temp\A
ers\ADMIN\apktool\framework\1.apk, -S, d:\hapk\.\settings\res, -M, d:\hapk\.\settings\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\ADMIN\AppData\Local\Temp\APKTOOL5387853825983380890.tmp, -I, C:\Users\ADMIN
settings\res, -M, d:\hapk\.\settings\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
d:\hapk>
you need to use the new aapt binary from ththe updated sdk to recompile.
Thanks!!!!!!
SytemUI Issues
The problem that I am having with systemui.apk is when I make the xml change for the clock color and recompile...I get no errors..but when I flash my theme...the systemUI dissapers...I had this same problem with Gmail and finsky and vending so I had to sign those...tried to sign this one but still did not flash...if I just add my themed png's to the one that came with 3.2 it flashes fine...not sure what is going on. But this is stopping me from releasing my themes.
Sorry to bump an old thread, but I just downloaded the patch thinking it was new. However, it's the same one I've been using for a while.
The problem I'm having is with the Values xml files. Any time I recompile (even without changes to the XML files) moving the new .src file over in order to get the new values into the apk causes strange forcecloses and even boot loops in some cases.
I originally got this patch from the apktool google code page, and someone else had the same issue as me there, and reported it. I had a look at my XML output and, sure enough, there were missing definitions in it just like it was reported in the linked issue thread.
Is there any way this can be resolved with the current SDK, or is there something you need in order for those "APKTOOL_DUMMY" lines to be filled in? I can't finish my theme without being able to edit the values.
arrtoodeetoo said:
Sorry to bump an old thread, but I just downloaded the patch thinking it was new. However, it's the same one I've been using for a while.
The problem I'm having is with the Values xml files. Any time I recompile (even without changes to the XML files) moving the new .src file over in order to get the new values into the apk causes strange forcecloses and even boot loops in some cases.
I originally got this patch from the apktool google code page, and someone else had the same issue as me there, and reported it. I had a look at my XML output and, sure enough, there were missing definitions in it just like it was reported in the linked issue thread.
Is there any way this can be resolved with the current SDK, or is there something you need in order for those "APKTOOL_DUMMY" lines to be filled in? I can't finish my theme without being able to edit the values.
Click to expand...
Click to collapse
Perhaps you can be more specific with your procedure. I have used this apktool to edit every apk worth editing. Part of the issue may be that, if you are working with the Tiamat rom as a base, we have testsigned the base apks. Clone our rom git and review the make file to see which apks must be test signed.
This is actually a problem I'm having with stock 3.2 (US 3G). The guys who are porting the theme to Tiamat are getting boot loops while I'm just getting force closes.
My procedure hasn't changes since I started theming (back on 3.0.1). Here's what I'm doing. Maybe you have a better way to do it.
1. Decomp the apk.
2. Edit the color values in the xml files from the res/values folder(s) that apply.
3. Recompile the apk.
4. Move all of the edited files (images, xml files) over to a clean, stock .apk
5. Remove the original .src file in the stock apk and replace it with the new one with the edited data.
6. push the new apk.
I've done it this way since the beginning, and this is the first time I've ran into a problem like this. Like I said, I think it has something to do with the dummy definitions that the patch creates. For example, this is in the drawables.xml from systemui.apk (res/values folder)
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="drawable" name="notification_number_text_color">#ff89bade</item>
<item type="drawable" name="notification_item_background_color">#ff89bade</item>
<item type="drawable" name="ticker_background_color">#ff0b1222</item>
<item type="drawable" name=[B]"APKTOOL_DUMMY_0011">[/B]false</item>
</resources>
And this is from Framework-res.apk
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="alert_dark_frame">@drawable/popup_full_dark</drawable>
<drawable name="alert_light_frame">@drawable/popup_full_bright</drawable>
<drawable name="dialog_frame">@drawable/panel_background</drawable>
<drawable name="editbox_dropdown_dark_frame">@drawable/editbox_dropdown_background_dark</drawable>
<drawable name="editbox_dropdown_light_frame">@drawable/editbox_dropdown_background</drawable>
<drawable name="menu_frame">@drawable/menu_background</drawable>
<drawable name="menu_full_frame">@drawable/menu_background_fill_parent_width</drawable>
<drawable name="stat_notify_sync_noanim">@drawable/stat_notify_sync_anim0</drawable>
<drawable name="stat_sys_download_done">@drawable/stat_sys_download_anim0</drawable>
<drawable name="stat_sys_upload_done">@drawable/stat_sys_upload_anim0</drawable>
<item type="drawable" name="screen_background_dark">#ff000000</item>
<item type="drawable" name="screen_background_light">#fff3f3f3</item>
<item type="drawable" name="screen_background_dark_transparent">#80000000</item>
<item type="drawable" name="screen_background_light_transparent">#80ffffff</item>
<drawable name="dialog_holo_dark_frame">@drawable/dialog_full_holo_dark</drawable>
<drawable name="dialog_holo_light_frame">@drawable/dialog_full_holo_light</drawable>
<item type="drawable" name="status_bar_closed_default_background">#ff000000</item>
<item type="drawable" name="status_bar_opened_default_background">#ff000000</item>
<item type="drawable" name="search_bar_default_color">#ff000000</item>
<item type="drawable" name="safe_mode_background">#60000000</item>
<item type="drawable" name="input_method_fullscreen_background">#fff9f9f9</item>
<item type="drawable" name="selected_day_background">#ff0092f4</item>
<item type="drawable" name="screen_background_holo_light">#fff3f3f3</item>
<item type="drawable" name="screen_background_holo_dark">#ff000000</item>
[B] <item type="drawable" name="APKTOOL_DUMMY_04b5">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04b8">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04ba">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04bd">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04bf">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04c3">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04c6">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04c8">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04c9">false</item>
<item type="drawable" name="APKTOOL_DUMMY_04cb">false</item>[/B]
</resources>
As you can see, I've been able to edit some of the colors, and those work just fine, but using the edited .src file in this Framework-res.apk causes the settings menu in any app I open to force close the app.
solarnz said:
you need to use the new aapt binary from ththe updated sdk to recompile.
Click to expand...
Click to collapse
Hi there,
Please could you tell me where i can find this file, as i have downloaded the newest SDK and it isn't in there!
Alternatively, is it uploaded somewhere?
Thanks
I'm definitely using the correct aapt file.
I would say at this point hop on #xoom so we can chat and get more in detail and narrow this thing down. We really want to get all the themers up and running.
G'Day XDA,
I have written a bit of a guide to changing your battery icons in a way which is quite easy to do. There are a couple of ways to do it, and depending on your framework and mods depends on how you will need to do it. And before you do anything, please make a Nandroid backup using ClockworkMod Recovery. I will NOT be held responsible if you brick your phone, but I will try my best to help you if the inevitable happens.
On my SGSII I run an odexed 4.0.3 XWLPI stock ROM which has JKay's Deluxe framework & Deluxe Settings app, so I can easily choose to theme my battery icon. There are a number of different icons and ways to create them on XDA, I downloaded mine from shayne77's Battery Mod Tool thread which has quite a few, or if you're that way inclined then you can make your own.
Ok so first things first, you will need a rooted phone and some sort of file explorer that can navigate down to the root folders. I use ES File Explorer but it's personal preference. You will also need a computer with a USB cable that can connect into your phone and a zip program like 7Zip. If you don't have a ROM that currently supports % battery icons then you will need something like APK Tool to decompile and recompile SystemUI.apk . You will also need a text editor like Notepad++ to edit the XML file. The last thing that you may need (if you want to create your own icons or modify any) is a program like Photoshop, but I use Greenfish Icon Editor Pro.
You will need to download/make the icons that you want. Then you need to make sure that they are named accordingly to your SystemUI.apk's /res/drawable-hdpi folder. I use JKay's framework, so mine are named jkay_stat_sys_battery_0.png through to jkay_stat_sys_battery_100.png and then jkay_stat_sys_battery_charge_anim0.png through to jkay_stat_sys_battery_charge_anim100.png . Yours may be named without the jkay at the start if you don't use his framework.
If your ROM currently doesn't support % battery icons then I will show you how to do that. It involves decompiling SystemUI.apk, editing an XML file and then recompiling and flashing and will be detailed in the 3rd post..
Ok now once you have all of the things I mentioned above, you will need to use your file explorer to navigate to /system/app and make a copy of SystemUI.apk .
{
"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"
}
I use a folder on my phone's SD card called Mods so I know where everything is. You will then need to plug the phone into the computer and copy SystemUI.apk onto your computer. Again, I use a folder called Mods.
Now right click on SystemUI.apk, hover over 7Zip click Open archive.
When the window opens, double click on res and then double click on drawable-hdpi. Have a look in this folder for a number of icons which will be named something like stat_sys_battery_0.png or jkay_stat_sys_battery_0.png and make note of what they are named. This is what you will need to be renaming the icons that you have downloaded or made, unless of course they already have the same names.
Once all 202 icons have the same names as the ones in the /res/drawable-hdpi folder, you now need to select them all and drag them into the 7Zip archive which you have open. When the prompt asks you if you are sure that you would like to copy the files to the archive, click Yes. Then close the archive.
Now you need to plug your phone back into the computer (unless you left it plugged in from before) and copy your newly modded SystemUI.apk back onto your phone's internal SD Card. Once this is done you can unplug the phone from the computer (unless you are charging it) and open up your file explorer. Navigate to where your newly modded SystemUI.apk is stored and then move it to /system. Once that is done navigate to /system.
Now find the SystemUI.apk that you have modified and long press on it to bring up the menu and 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! Simple!!!
Another way to change your battery icon is to use a flashable zip file. I use VRTheme zips for all of my mods and they work really well. I have attached 4 flashable zips below, 2 each of the Big Android Battery (which I use) and the Little Android Battery, and one of each is for users with JKay's framework and one of each without. You can download these and flash them through ClockworkMod Recovery, but don't forget to make a Nandroid backup!
Big Android Battery
JKay Big Android Battery
Little Android Battery
JKay Little Android Battery
If you want to use different icons, you can still download the zip which suits your framework and just change the icons for the ones that you want. You will need to download the zip file to your computer and then when it's finished, right click on it and hover over 7Zip and click on Open archive.
Once the window opens, double click on vrtheme then system then app and you should see a folder called SystemUI.apk . Double click on this, then on res and drawable-hdpi. In that folder there should be 202 png icons which are the battery icons.
Simply drag your renamed icons into the folder, click Yes when the prompt asks you if you are sure that you want to add the files to the archive and when that's done simply close the archive.
Now copy the zip file back onto your phone's internal SD card and flash through ClockworkMod Recovery! Simple!!!
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:
Code:
<?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:
Code:
<?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
unzip systemUI.apk tahn put your images of battery in res/drawable-hdpi ( that will about 204)
zip again sign it with an signer and done
Update
I just updated the 3rd post of this guide with a bit of new information about resources.arsc (thanks again Spannaa) so if anyone has used the guide to create a % battery in their ROM then please have a look at the edit in the 3rd post.
Cheers,
Dave
Or you could use UOT Kitchen
Awesome guide for newbies though
Sent from my Ace 2 running 4.1.2 JB
Fzee said:
Or you could use UOT Kitchen
Awesome guide for newbies though
Click to expand...
Click to collapse
I'd say the opposite - it's much better to learn how to mod stuff yourself.
UOT is great for people who can't...
How to change black background for all apps
Hope you must have got boared of your default Black Android Backgrounds of almost all system application UIs. And If you really fed up of it...then let's change it by making a few small edits to framework-res.apk/res/values/styles.xml
This gonna affect MOST of the Black Background you see in Android (e.g. Settings, Contacts, Mms, Installer etc.)
It would be with the exception of certain apps that use their own backgrounds...!! so all newbies get ready to theme your own apps..
Click to expand...
Click to collapse
Difficulty Level : Medium
HOW TO DO IT
# just follow simple instruction..!!
Click to expand...
Click to collapse
1. Decompile framework-res.apk
[and please Dont ask me How to Decompile & Recompile an APK find a separate post on the same]
2. Navigate to res/values and open styles.xml
3. Locate <style name="Theme">
4. Replace
<item name="colorBackground">@color/background_dark</item>
with
Code:
<item name="colorBackground">@color/transparent</item>
5. Replace
<item name="windowBackground">@drawable/screen_background_dark<item>
with
Code:
<item name="windowBackground">@drawable/mybackground</item>
6. Locate <style name="Theme.Black" parent="@style/Theme">
7. Replace
<item name="colorBackground">@color/black</item>
with
Code:
<item name="colorBackground">@color/transparent</item>
8. Replace
<item name="windowBackground">@color/black</item>
with
Code:
<item name="windowBackground">@drawable/mybackground</item>
9. For MDPI Devices:Create a .png with resolution 320x480 as you like, rename it as mybackground.png and place it in drawable-mdpi folder
For HDPI Devices:Create a .png with resolution 480x800 as you like, rename it as mybackground.png and place it in drawable-mdpi folder
10. Recompile framework-res.apk and Push it using Adb or using some Flashable Zip.
Note:-
Always create a backup of your Application and ROM before Making any modifications!!!
Click to expand...
Click to collapse
Hit thanks to Motivate me
Xperia Z1 C6903 Lollipop 5.1.1(From Stock 14.6.A.0.368 FR) For No Deodexed Firmware: , Keep Your SystemUI.odex inside your arm folfer ! Do Not Remove it !
and For Deodexed Firmware ... just replace your SystemUI.apk with the downloaded Deodexed SystemUI.apk !
SystemUI Dynamic Color For No Small apps Close All Button Position fix
Installation :Go to "\System\priv-app\SystemUI" Rename SystemUI.apk to SystemUI.apk.bak and Put the Downloaded SystemUI.apk
Go to "\System\app\SmallAppsLauncher" rename SmallAppsLauncher.apk to SmallAppsLauncher.apk.bak for not Showing Smalls Apps Launcher in Recents Apps Screen !
REBOOT !
Quick Tutorial : For C6903 Lollipop 5.1.1
res\values\styles.xlm
Edit: line 23:
<item name="android:navigationBarColor">@android:color/transparent</item>
to
<item name="android:navigationBarColor">@android:color/somc_color_dark_primary_dark</item>
res\values\drawables.xml
Edit: lines 6,18,19,20,21,22:
<item type="drawable" name="navigation_bar_gradient_background_non_skinnable">@drawable/nav_background</item>
<item type="drawable" name="somc_navbar_background_dark">@color/system_bar_background_opaque</item>
<item type="drawable" name="somc_navbar_background_dark_land">@color/system_bar_background_opaque</item>
<item type="drawable" name="somc_navbar_background_light">@drawable/somc_navbar_background_dark</item>
<item type="drawable" name="somc_navbar_background_light_land">@drawable/somc_navbar_background_dark_land</item>
<item type="drawable" name="somc_navbar_background_translucent">@drawable/nav_background</item>
to
<item type="drawable" name="navigation_bar_gradient_background_non_skinnable">@drawable/status_background</item>
<item type="drawable" name="somc_navbar_background_dark">@android:color/somc_color_dark_primary_dark</item>
<item type="drawable" name="somc_navbar_background_dark_land">@android:color/somc_color_dark_primary_dark</item>
<item type="drawable" name="somc_navbar_background_light">@android:color/somc_color_dark_primary_light</item>
<item type="drawable" name="somc_navbar_background_light_land">@android:color/somc_color_dark_primary_light</item>
<item type="drawable" name="somc_navbar_background_translucent">@drawable/status_background</item>
Close all Button position:
Portrait mode:
res\values\dimens.xml
Edit: line 250
<dimen name="close_all_button_layout_margin_bottom">134.0dip</dimen>
to
<dimen name="close_all_button_layout_margin_bottom">64.0dip</dimen>
Landscape mode: make a copy of res\layout\layout\recents.xml to res\layout\layout-land\recents.xml
res\layout\layout-land\recents.xml
Edit line 9
<Button android:theme="@android:style/Theme.DeviceDefault" android:gravity="center" android:layout_gravity="end|bottom|center" android:id="@id/close_all_button" android:background="@drawable/somc_close_all_background" android:visibility="gone" android:layout_width="@dimen/close_all_button_size" android:layout_height="@dimen/close_all_button_size" android:layout_marginBottom="@dimen/close_all_button_layout_margin_bottom" android:layout_marginEnd="@dimen/close_all_button_layout_margin_end" android:elevation="8.0dip" />
to
<Button android:theme="@android:style/Theme.DeviceDefault" android:gravity="center" android:layout_gravity="end|bottom|center" android:id="@id/close_all_button" android:background="@drawable/somc_close_all_background" android:visibility="gone" android:layout_width="@dimen/close_all_button_size" android:layout_height="@dimen/close_all_button_size" android:layout_marginBottom="16.0dip" android:layout_marginEnd="64.0dip" android:elevation="8.0dip" />
Simple, delete small app
lavenbut said:
Simple, delete small app
Click to expand...
Click to collapse
Never Delete before testing !
It is better to rename apps to *.bak for who want to revert .... It mean a backup !
If you don't see the difference of Dynamic and the close all button in recents apps screen ...
Here it is !
mastacut said:
Never Delete before testing !
It is better to rename apps to *.bak for who want to revert .... It mean a backup !
If you don't see the difference of Dynamic and the close all button in recents apps screen ...
Here it is !
Click to expand...
Click to collapse
Hi OP can this be use in latest firmware 216?
If u have xposed and module xperia xposed, it will simple more. Like this
lavenbut said:
If u have xposed and module xperia xposed, it will simple more. Like this
Click to expand...
Click to collapse
Yes it is better for a Simple User like you if this can help you and I really appreciate.
This information is dedicated to programmers and developers, it is important to share code to the community, it is the principle of free software, but it also can help some novices.
This will manufacture custom roms and delete any applications that are unnecessary or rarely used.
:good:
anakdayak said:
Hi OP can this be use in latest firmware 216?
Click to expand...
Click to collapse
I think you can, but some lines can be differents, you must find where is the line of code, but generaly it is the same code.
:good:
Send me your 216 SystemUI.apk and I tell you if the line of ( styles.xlm, drawables.xml, recents.xml, colors.xml .... ) is the same.
Works Great
And it's very nicee thanks A lot
And also thanks for sharing how to do it
Is It working with .236 stock?
So i've been tinkering with themes for the G4 tweaksbox and i've found that resources on the lockscreen (for example, the slide-for-camera icon) are changed with the system ui theme and not the lockscreen theme - is this because the tweaksbox was originally made for KitKat on the G3 and the lockscreen was fundamentally changed with lollipop and is now pretty much a part of the systemui?
Anyway, i've made some new resources and added the correct strings to theme.xml and lockscreen-theme.xml (which turned out to be not needed) along with a animation file for them in /drawable, but i can't get the custom animation to work. I've created the file lockscreen_lock_icon_camera_animation.xml (found by decompiling the systemui.apk on my G4) and pretty much used other g4twb animation files as a template to write this in it: (The xmlns link does not have breaks in it, i put them in here because xda wont let new users post links)
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http :// schemas . android . com / apk / res / android">
<item android:duration="1300" android:drawable="@drawable/lockscreen_lock_icon_camera_00" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_01" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_02" />
<item android:duration="800" android:drawable="@drawable/lockscreen_lock_icon_camera_03" />
<item android:duration="300" android:drawable="@drawable/lockscreen_lock_icon_camera_00" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_01" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_02" />
<item android:duration="800" android:drawable="@drawable/lockscreen_lock_icon_camera_03" />
<item android:duration="300" android:drawable="@drawable/lockscreen_lock_icon_camera_00" />
</animation-list>
All the files compile fine and can be found in the newly generated public.xml file but only the new resources show, not the new animation. Any ideas why?
EDIT:
Looked through my files again and turns out i forgot to add the animation file to theme.xml.
Can't find a delete button anywhere so i guess you are all free to laugh at me now