THEMEING GUIDES COME Check IT OUT

WoZzY

The GRD Dev Team
Premium Member
Developer
Joined
Jun 5, 2010
Messages
1,067
Reaction score
1
Location
SouthWest,FL
These guides come from are friends over @ MY Droid World just sharing some of what will be in the Dev School @ launch enjoy





This guide will teach you how to edit the framework-res.apk and service/framework.jar
I assume that you have sdk and [COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]java[/FONT][/FONT][/COLOR][/COLOR] installed at this time if not there are many guides out there. And as always Me or MDW take NO responsibility for what you do.
All of my work is done on a [COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]Linux [/FONT][/FONT][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]box[/FONT][/COLOR][/FONT][/COLOR][/COLOR], but Windows can follow along to just the tools will be installed differently
We Need Tools
1. Apktool
2. A file editor ( I use gedit ) ( windows use editpad )
3. baksmali and smali

[COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]Install[/FONT][/FONT][/COLOR][/COLOR] the tools ( Linux Only )
Open a terminal and go to sdk/platform-tools [COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]directory[/FONT][/FONT][/COLOR][/COLOR] and do
( Note I build apktool from source here it just seems to work better )
git clone git://github.com/brutall/brut.apktool.git apktool
cd apktool
java -jar apktool-cli/target/apktool-cli-1.3.3-[COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]SNAPSHOT[/FONT][/FONT][/COLOR][/COLOR]-jar-with-deps.jar Apktool v1.3.2 - a tool for reengineering Android apk files (...)

Now for smali
svn checkout smali - Revision 807: /trunk smali
cd smali/util
cd ../dexlib
mvn install
cd ../smali
mvn assembly:assembly
cd ../baksmali
mvn assembly:assembly

( Note The .jar file we need from these programs are in /smali/target the /baksmali/target
move those file to the platform-tools directory and rename to just smali.jar and baksmali.jar )

Windows Only
apktool
smali&baksmali

Lets get to work
Battery %
Now what I do is make all of my xml edits before changing the images, just to avoid errors. Sometimes the apktool gets mad if you edit the images then try to recompile the apk file. So grab you framework-res.apk and the service/framework.jar files also place these two file in the directory where the new tools are located. To decompile the framework-res.apk you would open a terminal and got to your dircetory where the tools are and do
apktool d framework-res.apk out-res ( Note the out-res is just what I do know where the files went you can put whatever after the .apk ).
Now if you want to add battery mod to it like the 100% one you will need new drawables to do so. You also will need to edit the .xml files that provide the information to it and they are located in.
/framework-res/res/drawable/stat_sys_battery.xml
/framework-res/res/drawable/stat_sys_battery_charge.xml

/framework-res/res/values/public.xml ( we will get back to this one later)

If you just are replacing the battery images in the /framework/res/drawable-hdpi then all you need to do is rename them to take the place of the original ones. But if you are adding new ones then it gets more complex. . ( pay atention ) you have to add these new drawables to the drawable/stat_sys_battery.xml file so each one you added has to be in this .xml
and each charging animation or just image has to be in stat_sys_battery_charge.xml
There must be 101 battery images and 103 including all charging images the full image and the unknown image. That means 204 total images! WOW.
Now if you added the images you have to look into the public.xml which this file holds ids for each and every image. You will get errors if the new images have no id.
So if you have this
Code:
<public type="drawable" name="stat_sys_battery_0" id="0x01080293" /> <public type="drawable" name="stat_sys_battery_10" id="0x01080294" /> <public type="drawable" name="stat_sys_battery_100" id="0x01080295" /> <public type="drawable" name="stat_sys_battery_20" id="0x01080296" /> <public type="drawable" name="stat_sys_battery_40" id="0x01080297" /> <public type="drawable" name="stat_sys_battery_60" id="0x01080298" /> <public type="drawable" name="stat_sys_battery_80" id="0x01080299" />
In your public.xml you have to go in the pattern that is there you can not steal a id.! That example was if you where doing a 10%. ( I'll go in more detail about public.xml latter). Now to compile what you have up do this
apktool b <whatever you named it>.apk

Status_bar
So you want to change colors on your status bar like; text when you get a message, date and other stuff. Well we here at MDW have your back. Using the decompile method from above or even the same one look for.
/framework-res/res/layout/ # I'll explain what is what #
/framework-res/res/layout/status_bar_expanded.xml
/framework-res/res/layout/status_bar_latest_event_content.xml

status_bar.xml
The first xml file is for text in the status bar like when you recieve a message, usb conected and so on. Now all colors are in Hex format so you'll see things like ffffffff ( which is white) the firsts 2 ff are the beginning and the last 6 are the color.
The first two hex colors you see in his file are the text color in the status bar message so on the last is the date color so for an example if the date color is set to ffffffff you can change it to ff000000 to make it black. ( [COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]google[/FONT][/FONT][/COLOR][/COLOR] hex xml color codes for color charts ).

status_bar_expanded.xml
The first hex color is the color text of what carrier you have like for me its Sprint. The last one is for the clear button text.

status_bar_latest_event_content.xml
The three hex colors in here are for all notifications; title color, description text and the notification time ( I believe its in that order too ). This is when your notification bar is pulled down.

Now recompile the apk and happy coding
Will enter more when I get off work.


THEMEING PART 2 With 91 PANDA HOME
(easy) Build your own theme for 91panda home





I enjoy everything about [COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]Android[/FONT][/FONT][/COLOR][/COLOR] and recently I have got into the programming side, but I definitely dont have mad skills like others, so I have to find easier ways to do things. While i was searching I came a cross PanadaTheme Maker, its a super simple way to create your own theme for 91Panda home. Now I know 91Panda home isnt one of the more well known home replacements but it is still cool that you can create your own theme and you can even upload it to the market.

All you have to do is go here http://home.pandaapp.com:888/index.html create an account so that way you can save your themes and start creating. This [COLOR=#c80000 !important][FONT=inherit !important][COLOR=#c80000 !important][FONT=inherit !important]program[/FONT][/FONT][/COLOR][/COLOR] can not do everything but it can still do a lot. So if you have ever wanted an easy way to make your own themes or if you have ever wanted to load an app to the market and call yourself a developer head on over to http://home.pandaapp.com:888/index.html and get started.

If you like easy things like this please let me know, I have some other techniques i could share. If you want to learn more about 91Panda home itself you can here https://market.android.com/details?i...=search_result
 
Last edited:
Top