Tutorial & Theme's Download Hold On To Your Balls.
| How To Create You Own Theme. (There are images contain in the framework-res.apk Extract it using 7-Zip & edit it) [You Can Start Theme-ing now]
| How To Change Status Bar Font Color. Time Font Color: (Refer To Post: #2) | StatusBar Font Color - : (Refer To Post: #3)
| How To Get It Installed On Your I8000
- Basically its o2bupdate.tar.gz thingy.
File's Provided:
- Original Android 2.1(Eclair) Theme From Almar's android files [Beta1 Original Theme Extracted, Beta1 Original Framework-res.apk]
- Modified StatusBar Font Color: White/Black. [Statusbar - White, Statusbar - Black [Original] ]
- .... more will come
Requirement's To Start:
- Any photo editing software [Recommended **Adobe Photoshop/GIMP]
- Some files to work around with. [Smali Dex Compile&decompile, Context Editor, HxD Hex Editor]
- 7-Zip You will need it for some reason [You Will Understand Why Later]
- .... more will come
Smali Dex Compile & Decompile:
This small program is used generally for extensions that are .dex its a simple thing to use. (Refer To Post: #2)
Context Editor:
A program use to edit the file's that are found after using smali. (Refer To Post: #2)
Will Update More Soon.
Here are some screen-shots of what I've been working on:
Note: Please Ignore - (No Service)|Starhub. My sim got suspended for not paying bill's
There's so much that you can do but sadly im only a designer who designs theme. so with this info and file provided i hope you guys out there can do something better. Peace.
Please Take Note That Current Theme Won't Work On Beta 2, Only For Beta 1. I'm Currently working on Beta 2 File's. Will Update Soon.
How To Use Smali Dex Compile / DeCompile For classes.dex and Context Editor: [Changing Of Font Color Time On You Status Bar!]
Download This Files: [Smali Dex]
Normally I will place all my files to C:\Android\ for a new project. But you can choose anywhere you like that is at your own convenience.
1. You will need classes.dex from Service.jar - Extract it out using 7-Zip or WinRAR.
2. Once You have already done extracting classes.dex out put it in you project folder.
3. You can start following the steps below.
So lets start. Lets say i have already extracted all the file i've needed and placed it to my project folder here is what you need to do. Run CMD.
Type in cd C:\Android\ or where ever you project folder is located it. It should show you something like this once you've pressed ENTER.
[attachment=69743:1.png]
Okay lets move one, now here is what you need to check be sure that classes.dex is located inside the folder in order for you to start de-compiling the dex files.
Now Type in java -Xmx512M -jar baksmali.jar -o classout/ classes.dex
After pressing enter you should now get a classout folder inside you project folder.
[attachment=69746:2.png]
Now double click on the classout folder. [Do not close the CMD it will save you alot of time.] Inside the folder contains alot of files so lets cut it short with a photo:
Locate the file here: classout\com\android\server\status
Item will be: StatusBarIcon.smali
[attachment=69748:3.png]
Okay once you see the StatusBarIcon.smali we will now start using the Context Editor that is given on the first Post.
Right Click on StatusBarIcon.smali open with Context Editor or You could run context editor and just drag StatusBarIcon.smali into it.
You should get something like this:
[attachment=69752:4.png]
Now on Context Editor press CTRL+F and type color and press enter.
You should all be getting this paragraph that i've highlighted:
[attachment=69754:5.png]
Follow the following lines stated below: From original to edited.
Text Original:
Code:
.line 46
const/high16 v6, -0x100
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTextColor(I)V
Text Edited:
Code:
.line 46
const v6, -0x1
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTextColor(I)V
Once you are done, Save the file & close context editor. Go to your Project folder and rename your classes.dex to classes-old.dex You need to do this just incase you mess up some stuffs. After you have done with this go to cmd and type in java -Xmx512M -jar smali.jar classout/ -o classes.dex Press enter and now you'll get the new classes.dex
Here's what you need to do open service.jar with 7-Zip and drag the new classes.dex inside and save. You're done changing your status bar Time into white color. The next tutorial is changing your status bar text to white color [The Tricky Part].
To store the new service.jar you have compiled you can use ADB USB or o2bupdate.tar.gz your own convenience [I'll touch on a how to soon]
If your using o2bupdate.tar.gz place it in My Storage/ where haret is at and run haret. Let the o2bupdate do it stuffs & You'll get a white color time font something like this: [attachment=69760:tada.png]
Photo's Will Be Updated Soon.
How to use HxD Hex Editor: I Believe Most Of You Knows How To. (Changing Status Bar Font Color To White) Other colors may work to you can try.
Download Files: HxD Hex Editor 1.7.7.0
By now most of you should have the Framework-res.apk with you. Inside the apk contain images & XML for the android theme. You can mess around with the images & the xml.
But what i'm about to teach you all here is basically changing the font color of the status bar.
Go inside the framework-res folder that you have extracted. Go to this directory: framework-res\res\layout
Look for a file named status_bar.xml
[attachment=69761:1_1.png]
Now once you have found it. Open HxD Hex Editor and drag status_bar.xml into it.
Now once you have done that, press the search tab and click find 08 00 00 1C. change text string to hex value.
The first one should come out: [Now in the photo you see the red box Change it to FF FF FF.]
[attachment=69762:2_2.png]
We are not done yet. Do The same thing again search for 08 00 00 1C.
This is what you should get: [Now in the photo you see the red box Change it to FF FF FF.]
[attachment=69763:3_3.png]
One you change it save it but don't close it just yet. There's another few more steps you need to do.
Now search for 39 00 01 01.
You should get this: [Now in the photo you see the red box change it to 1C FF FF FF FF.]
[attachment=69764:4_4.png]
Now save it and close Hex editor. Open your framework-res.apk with 7-Zip and drag your edited Status_bar.xml in it and save.
Use o2bupdate.tar.gz to update or you can simply use adb usb. Remember if you use o2bupdate.tar.gz the should contain \system\framework\ in order for it to be updated. save goes to service jar.
Now this is what you should get after the update :
[attachment=69765:Tada_2.png]
Further Developement =D =D
Further Developement =D =D Further Developement =D =D
I want to change the color font in the phone keypad.
Decompile htcdialer (apktool) but I can not find section where to declare this color.
I have black, I want white....
Anyone knows where it changes?
Help
Oki ... i find section:
styles.xml
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="text_style_dialer_button_number">
<item name="android:textSize">27.0sp</item>
<item name="android:textColor">@color/color_255_255_255</item> === (was 0 0 0)
but apktool shows errors:
DEcompilation:
http://www.youtube.com/watch?v=V6KPpl389qk
Compilation:
http://www.youtube.com/watch?v=Xf5dNPujyYQ
orginal APK file is here:
http://hotfile.com/dl/112060127/881b...ialer.apk.html
1. decompile and compile the same file (no change) and again shows errors...
WHY?
2. Why go to 1.apk in framework folder ??? (screen)
3. what should be in this folder?
As I wrote you via PM, it is not enough to change that value, there are 3 and you also need to adjust the shadow colors. Compilation errors are due to using a themed apk, compile with stock and then insert your needed png`s. You also need to adjust button and dialer icon colors.
No .... stock file generated the same errors. :/
look:
http://hotfile.com/dl/112066339/865f241/HtcDialer.apk.html
This is stock file. Try decompile and you see erros :/
This file extract of Gingerbread ([ROM] Android Revolution HD 4.0 β 4)
draxterix said:
Oki ... i find section:
styles.xml
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="text_style_dialer_button_number">
<item name="android:textSize">27.0sp</item>
<item name="android:textColor">@color/color_255_255_255</item> === (was 0 0 0)
but apktool shows errors:
DEcompilation:
http://www.youtube.com/watch?v=V6KPpl389qk
Compilation:
http://www.youtube.com/watch?v=Xf5dNPujyYQ
orginal APK file is here:
http://hotfile.com/dl/112060127/881b...ialer.apk.html
1. decompile and compile the same file (no change) and again shows errors...
WHY?
2. Why go to 1.apk in framework folder ??? (screen)
3. what should be in this folder?
Click to expand...
Click to collapse
For starters you are editing the wrong styles.xml file. The DHD you need to edit the styles.xml in /values-hdpi
My guess is you don't have the supported framework and that you are not editing a stock untouched .apk. I can't see your error messages from your youtube video.
Complete guide on how to Decompile/Recompile Apks with APKTOOL
This Tutorial is for Windows Only
Apktool and all .bat files outlined in this tutorial have been uploaded here for your convenience
Requirements
- 7zip / Winrar (or similar)
- Apktool - (Package link above)
Notes
- I use .bat file to make the whole process alot quicker ...
- Copying Apktool files (aapt.exe, apktool.bat, apktool.jar, baksmali.jar, zipalign.exe) into C:/windows will allow you to use the .bat files anywhere on your computer without the need for apktool in the same directory
Step 1 - First you need to install the framework files so the apktool can use them to decompile other apks in the rom that depend on the framework
- Make a text document and rename it "Install Framework.bat"
- Edit it with a txt editor and paste in this code
Code:
CMD /K apktool if framework-res.apk
- with your framework-res.apk in the folder run the Install Framework.bat file and it should output
Code:
Framework installed to: C:\Users\USER\apktool\framework\1.apk
Step 2 - Decompiling (we will be decompiling framework-res.apk in this tutorial)
- First make a copy of the apk you wish to decompile and name it backup.apk (this will be used later)
- Make a text document and rename it "Decompile.bat"
- Edit it with a txt editor and paste in this code (replace the "framework-res.apk" with the name of the apk you wish to decompile)
Code:
CMD /K apktool d framework-res.apk
- with your apk in the same folder run the Decompile.bat file and it create a folder that you can edit as you see fit
Step 3 - Recompiling (we will be Recompiling framework-res.apk in this tutorial)
- Make a text document and rename it "Compile.bat"
- Edit it with a txt editor and paste in this code (replace the "framework-res.apk" with the name of the apk you wish to recompile)
Code:
del almostdone.apk
CMD /K apktool b framework-res almostdone.apk
- Run the Compile.bat file and it create an apk called almostdone.apk (if you get errors you most likely made a change which broke the apk)
- Open both almostdone.apk and backup with 7zip or Winrar
- Drag all the contents of almostdone.apk except for AndroidManifest.xml into backup.apk and replace existing files
- Now make a text document and rename it "Zipalign.bat"
- Edit it with a txt editor and paste in this code (replace the "framework-res.apk" with the name of the apk you wish to recompile)
Code:
del framework-res.apk
zipalign.exe -v 4 backup.apk framework-res.apk
- Run the Zipalign.bat file and it create the finished apk
Nice one :good:, but i think very few takers in our forum. I was also thinking about posting on ROM Porting, but there are many guides already out there .
yeah ... seems so.... iv'e tryed porting myself ... never got it booting ...
Hello,
In this tutorial I´ll show you how to change the height of your NavBar.
This Tutorial works for any Rom!
Requirements
Text-Editor, e.g. Notepad++
WinRar/WinZip/Bandzip
Apktool (Download)
installed Java (Download)
JDK (Download)
root on your Nexus 4
a FileManager like ES File Explorer or Root Explorer
your framework-res.apk
some Cmd experience (just a little)
.. and some time/nerves
.. let´s go
Before getting started, make a Nandroid Backup (if you get Bootoop etc)!
The decompliling:
First you need to create a new folder like "C:\apktool". Download Apktool and extract the files to C:\apktool
copy your framework-res.apk to C:\apktool
open Cmd
navigate to your apktool (with "cd C:\apktool")
type in: java -jar apktool.jar if framework-res.apk [enter] (...installation of your framework)
type in: java -jar apktool.jar d framework-res.apk [enter]
finished!
Now you should have a new folder named framework-res. That´s your decompiled framework-res.apk.
The customizing of your NavBar height:
Navigate to /res/values
open dimens.xml in your Text-Editor
search the 3 lines which include navigation_bar_height, navigation_bar_height_landscape, und navigation_bar_width
type in your desired dpi number (for default it´s 48dpi)
CAUTION: At width, you should calculate the numeral proportion of the height to the width.
If you got that, save!
The (Re-)compiling:
Cmd (if you have not left it open, you must navigate again to C:\apktool
type in: java -jar apktool.jar b framework-res [enter]
The newly compiled framework-res.apk is located in C:\apktool\framework-res\dist
CAUTION: Copy the META-INF folder and the AndroidManifest.xml from your old framework-res.apk to your newly compiled one! Otherwise you´ll get Bootloop.
Now copy your framework-res.apk with a file manager to /system/framework. After that reboot immediately!
Finished! Have fun with your smaller/higher NavBar.
If there are some question, ask in this thread, I´ll help you as good as possible. Please don´t write me PM´s with support requests.
The "small-print":
Neither XDA-Developers.com, nor me are responible for any damages on your device!
I'm pretty sure this is the same for changing your Navigation Bar white or any color you want?
But instead I think its the navbar.xml that you need to edit correct?
Sent from my Nexus 4 using xda app-developers app
Right. But maybe it's in SysUI.apk, I don't know right now.
~ via Nexus
Flextrick said:
Hello,
In this tutorial I´ll show you how to change the height of your NavBar.
This Tutorial works for any Rom!
Requirements
Text-Editor, e.g. Notepad++
WinRar/WinZip/Bandzip
Apktool (Download)
installed Java (Download)
JDK (Download)
root on your Nexus 4
a FileManager like ES File Explorer or Root Explorer
your framework-res.apk
some Cmd experience (just a little)
.. and some time/nerves
.. let´s go
Before getting started, make a Nandroid Backup (if you get Bootoop etc)!
The decompliling:
First you need to create a new folder like "C:\apktool". Download Apktool and extract the files to C:\apktool
copy your framework-res.apk to C:\apktool
open Cmd
navigate to your apktool (with "cd C:\apktool")
type in: java -jar apktool.jar if framework-res.apk [enter] (...installation of your framework)
type in: java -jar apktool.jar d framework-res.apk [enter]
finished!
Now you should have a new folder named framework-res. That´s your decompiled framework-res.apk.
The customizing of your NavBar height:
Navigate to /res/values
open dimens.xml in your Text-Editor
search the 3 lines which include navigation_bar_height, navigation_bar_height_landscape, und navigation_bar_width
type in your desired dpi number (for default it´s 48dpi)
CAUTION: At width, you should calculate the numeral proportion of the height to the width.
If you got that, save!
The (Re-)compiling:
Cmd (if you have not left it open, you must navigate again to C:\apktool
type in: java -jar apktool.jar b framework-res [enter]
The newly compiled framework-res.apk is located in C:\apktool\framework-res\dist
CAUTION: Copy the META-INF folder and the AndroidManifest.xml from your old framework-res.apk to your newly compiled one! Otherwise you´ll get Bootloop.
Now copy your framework-res.apk with a file manager to /system/framework. After that reboot immediately!
Finished! Have fun with your smaller/higher NavBar.
If there are some question, ask in this thread, I´ll help you as good as possible. Please don´t write me PM´s with support requests.
The "small-print":
Neither XDA-Developers.com, nor me are responible for any damages on your device!
Click to expand...
Click to collapse
Thanks dude!
"CAUTION: At width, you should calculate the numeral proportion of the height to the width."
What's the scale? I set 36dpi both on height and landsape_hight, what's the width should I do? And I want the background of navigation to more smaller...
First of all, please delete fullquote Second: Proportion is like 48:42=36:x (x is width, just calculate). And third: Which background do you mean?
~ via Nexus
Hello,
if somebody is interested: I built a graphical Apktool for easier modding. Check it out: http://forum.xda-developers.com/showthread.php?t=2326604
~ via Nexus
I am attempting this but its not working.
I have apktool, java, and JDK installed.
When I run the commands I get this...
Code:
c:\apktool>java -jar apktool.jar if framework-res.apk
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:
spec=0x01080294 drawable/ic_ab_back_holo_dark, config=-xhdpi
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:65)
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:58)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:196)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:165
)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:130)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
5)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:39)
at brut.androlib.res.AndrolibResources.installFramework(AndrolibResource
s.java:384)
at brut.androlib.Androlib.installFramework(Androlib.java:365)
at brut.apktool.Main.cmdInstallFramework(Main.java:193)
at brut.apktool.Main.main(Main.java:69)
c:\apktool>java -jar apktool.jar d framework-res.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:
spec=0x01080294 drawable/ic_ab_back_holo_dark, config=-xhdpi
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:65)
at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:58)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:196)
at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:165
)
at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:130)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
5)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:315)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:50)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:43)
at brut.androlib.Androlib.getResTable(Androlib.java:44)
at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:148)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
at brut.apktool.Main.cmdDecode(Main.java:128)
at brut.apktool.Main.main(Main.java:65)
c:\apktool>
Any help would be great.
Or if someone wants to set my dpi to 24 that would be great as well. 24/24/24
framework-res.apk
Hello, I see. Maybe you should try this one here: http://forum.xda-developers.com/showthread.php?t=1755243
I created an AndroidApktool, which makes it easier to mod your files: http://forum.xda-developers.com/showthread.php?t=2326604
It helps you in this Tutorial much, too.
How do you move the old META-INF folder and AndroidManifest.xml into the new apk after it's already compiled?
With WinRar or 7zip etc.
I followed every step and I end up with same as paperecho, empty framework-res folder.
Do you get the same error as he?
Is it possible to set the alignment of the softkeys to the left side (especially for the Nexus 7/10)?
Thanks in advance
Sent from my Nexus 4 using xda premium
It's possible for sure, but I don't know how. Ive got no experience with tablets, sorry.
I'm also finished with empty folder framework-res..
Maybe you guys should download the newest apktool version and replace it with the one in my folder. I think this should solve your problem
Does anyone know what values they use to make the softkeys stay vertical when the phone is in landscape mode? I'm trying to do that with my tablets. Thanks
Works Great Nexus 4 and Nexus 10 Kitkat
In Android L, it didn't work in type in "java -jar apktool.jar if framework-res.apk" & "java -jar apktool.jar d framework-res.apk"...
How to add wifi and bluetooth toggles button in Settings like ics
Click to expand...
Click to collapse
Tool you need:1:apktool(apkmanager etc)
2:smali code and xml(look attached file)
3:notepad++
4:brain most important
Note:I am not gona teach you how to compile and decompile apk do it yourself And i am not gona responsible for any thing bad happened.
>>first Step:
Pull settings.apk from your phone and decompile it.
>>second Step:
download the attach file and open it there you will see res folder and smali folder now copy them and paste in your decompile settings apk folder.
>>Third Step:
now open id.xml (present in values folder of settings apk)
and add this lines in end just above this</resources>
Code:
<item type="id" name="toggle2">false</item>
<item type="id" name="toggle">false</item>
>>Forth Step:
compile the apk and sign it...now decompile new settings.apk
>>Fifth Step:
open public.xml file in notepad++ then goto smali/com/ion/settings/ and open the BTPreferencesScreen.smali and SwitchPreferenecScreen.smali notepad++.
firsts let play with BTPreferencesScreen.smali
now serach for this hexs value
Code:
"0x7f030056"--------and replace it with type="layout" name="preference_bt" ids value(hex value)
"0x7f0b0016"--------and replace it with type="id" name="icon" ids value(hex value)
"0x7f0b012e"--------and replace it with type="id" name="toggle2" ids value(hex value)
save,done and close...
now time to play with switchPreferenecScreen.smali
now serach for this hexs value
Code:
"0x7f030057"--------and replace it with type="layout" name="preference_switch" ids value(hex value)
"0x7f0b012f"--------and replace it with type="id" name="toggle" ids value(hex value)
Note:"0x7f0b012f" are use three times in smali code so replace it with type="id" name="toggle" ids three time at there respective place.
"0x7f0b0016"--------and replace it with type="id" name="icon" ids value(hex value)
>>Sixth Step:
Now open Settings.xmlin notepad++
now add this code in the <PreferenceScreen .....xxxx.... />
now add these two codes also where you want to place this codes this responsible for display wifi and bluetooth toggles button and string in settings menu
Code:
<com.ion.setting.SwitchPreferenceScreen android:title="wifi" android:key="wifi" />
<com.ion.setting.BTPreferenceScreen android:title="Bluetooth" android:key="btswitch" />
like this....just like i do and save the file
>>Seventh Step:
compile apk,sign it and push it on your phone and enjoy....
Screenshots:-
SETTINGS with ics toogle buttons:-
SETTINGS with ANDROID L toogle buttons :-
SETTINGS with kk/jb/twz style toogle button:-
Final SS?
samsoul16 said:
Final SS?
Click to expand...
Click to collapse
ss added sir...
if u want jb/kk/android l like toogle button u can replace :- switchon and switchoff png at drawable mdpi folder....
here is the whole tut for making ics settings for all gb devices
nice guide @OP
great guide
Superb guide...
i will also make my settings like "android L".... :highfive: