Related
The basic part of a theme is the UI (User Interface) icons.
These icons are situated in three system files:
1. framework-res.apk
2. twframework-res.apk
3. SystemUI.apk
NOTE: Your phone should have the de-odexed versions of these files.
You may get them here http://android.modaco.com/topic/342915-samsung-galaxy-s-deodexedzipaligned-xxjvq-files/#entry1754033 .
MISSION 1 (GET THE FILES)
In order to get these files your phone needs to be rooted and you should have a system file explorer like Yaffs Explorer. The easiest way to root your phone is by flashing a kernel that provides root.
The framework-res.apk is situated in the folder /system/framework/
The twframework-res.apk is situated in the folder /system/framework/
The SystemUI.apk is situated in the folder /system/app/
Copy those files and put it in your sd card and then transfer those files to your PC.
These files will be used as the template for the new theme.
[OPTIONAL] Make a copy of these three files as back-up.
MISSION 1 COMPLETE
MISSION 2 (THE MYSTERIOUS CHANGE)
In order to change the icons there are three ways
a.The Easy way (not the correct way: might cause FCs )
b.The Hard way (recommended for risk takers )
c.Use the online theme kitchen (recommended for beginners )
[ http://uot.dakra.lt/ ]
NOTE:You may have to use both b. and c.
a. The Easy way
You need a program like 7-zip installed in your PC.
Method
-Open the apk using 7-zip.
-Go to the folder named res
-Extract the folder named drawable-hdpi
-Edit the images you want to edit [ DO NOT EDIT .9png IMAGES ]
-Replace the original icons with modified icons(drag & drop into
drawable-hdpi folder)
Tips
-Keep the original image dimensions
-Don't edit .9 pngs
b. The Hard way
This consists of decompiling the apk, modifying the required images, compiling the modified
images and replacing the original icons with the compiled icons.
You will need:
1.Apk Manager
(go here for instructions http://forum.xda-developers.com/showthread.php?t=695701 )
2.xUltimate compiler
(go here for instructions http://www.droidforums.net/forum/xeudoxus/47283-release-xultimate.html )
3.7-zip
Method
-Go to the main folder of Apk Manager
-Put the apk in the folder named place-apk-here-for-modding
- In order to decompile all APKs when working with the i9000, you have to install the framework files with apktool.
- Download apktool and put it on an easy accessable place (like C:\)
- Also put the STOCK framework-res.apk and twframework-res.apk files in the same directory.
- Open a new CMD (Press Windows Key + R), write CMD and press ENTER.
- type "cd .." (without the quotes)
- repeat the "cd .." so you're on C:\ now.
- write: java -jar apktool.jar if framework-res.apk
- repeat, just with twframework-res.apk: java -jar apktool.jar if twframework-res.apk
- This will ensure, it will load the correct resource table and you won't have any errors because of the dependees
-Run Script.bat file
-Select option 9 to decompile the apk
-Go to the folder named "projects" (the decompiled apk folder should be there)
-Inside the decompiled apk folder go to the folder /res/drawable-hdpi
-Modify the icons you want to change(KEEP THE BORDERS OF .9png IMAGES
UNTOUCHED)
-Open the main folder for xUltimate
-Go to the folder \example1\res\drawable-hdpi
-Delete the icons present there
-Put the modified icons
-Go to the main folder for xUltimate and run the xUltimate.exe file
-The compiled icons can be found in the folder
\done\example1\res\drawable-hdpi
-Replace the original icons with the compiled icons USING 7-zip
MISSION 2 COMPLETE
MISSION 3 (SEE THE CHANGE)
To see how your new theme looks like, you should put the modified files back to where they
belong.
There are two ways of doing this:
1. By using the system file explorer
Before doing so make sure that the system is write-enabled. You can do this
by using Damian Tweak app. If you are using Yaffs Explorer make sure you
have enabled root access
in the app's settings.
2. By making a CWM package (safer)
Use the Zip file provided. Replace the original files with moded files and install
using
CWM.
MISSION 3 COMPLETE
HAPPY THEMING
reserved
reserved
I have to thank you so much!
The first Tutorial I found that was understandable for beginners too.
Big Big Big Thanks!
nightm4r399 said:
I have to thank you so much!
The first Tutorial I found that was understandable for beginners too.
Big Big Big Thanks!
Click to expand...
Click to collapse
I'm glad it helped .
Exactly what I needed. Thank you for good guide.
hackeron said:
Exactly what I needed. Thank you for good guide.
Click to expand...
Click to collapse
Great .
Btw do you know how to make this a Sticky Thread?
SCIENTYREAL said:
Great .
Btw do you know how to make this a Sticky Thread?
Click to expand...
Click to collapse
You have to ask a moderator to do this
I have some additions to the guide
The red code is added by me.
Method b) the hard way
-Go to the main folder of Apk Manager
-Put the apk in the folder named place-apk-here-for-modding
- In order to decompile all APKs when working with the i9000, you have to install the framework files with apktool.
- Download apktool and put it on an easy accessable place (like C:\)
- Also put the STOCK framework-res.apk and twframework-res.apk files in the same directory.
- Open a new CMD (Press Windows Key + R), write CMD and press ENTER.
- type "cd .." (without the quotes)
- repeat the "cd .." so you're on C:\ now.
- write: java -jar apktool.jar if framework-res.apk
- repeat, just with twframework-res.apk: java -jar apktool.jar if twframework-res.apk
- This will ensure, it will load the correct resource table and you won't have any errors because of the dependees
-Run Script.bat file
-Select option 9 to decompile the apk
-Go to the folder named "projects" (the decompiled apk folder should be there)
-Inside the decompiled apk folder go to the folder /res/drawable-hdpi
-Modify the icons you want to change(KEEP THE BORDERS OF .9png IMAGES
UNTOUCHED)
-Open the main folder for xUltimate
-Go to the folder \example1\res\drawable-hdpi
-Delete the icons present there
-Put the modified icons
-Go to the main folder for xUltimate and run the xUltimate.exe file
-The compiled icons can be found in the folder
\done\example1\res\drawable-hdpi
-Replace the original icons with the compiled icons USING 7-zip
Click to expand...
Click to collapse
Darkyy said:
You have to ask a moderator to do this
I have some additions to the guide
The red code is added by me.
Method b) the hard way
Click to expand...
Click to collapse
Thanks for replying Darkyy .
So, i Get a ADB not found thing? WHat should i do?
roxyroot said:
So, i Get a ADB not found thing? WHat should i do?
Click to expand...
Click to collapse
You should have Android SDK installed for Apk Manager to work.
The link on how to use Apk Manager is given in the first post, under apk manager. I'll post it again here
http://forum.xda-developers.com/showthread.php?t=695701
Here is the link for Android SDK
http://developer.android.com/sdk/index.html
Btw you should also have Java Development Kit (JDK) installed.
I cant seem to find the twframework-res.apk, it's not in the system/framework folder. I have a sony ericsson play.
Do you know where the android settings menu icons are? the ones you see when you go into android settings. Like wireless & Networks, call settings, sound and so on.
thanks great guide.
SCIENTYREAL said:
You should have Android SDK installed for Apk Manager to work.
The link on how to use Apk Manager is given in the first post, under apk manager. I'll post it again here
http://forum.xda-developers.com/showthread.php?t=695701
Here is the link for Android SDK
http://developer.android.com/sdk/index.html
Btw you should also have Java Development Kit (JDK) installed.
Click to expand...
Click to collapse
I have android SDK (obviously), JRE and i used it the same way given, stilll..The error..I have a SGS SCL i9003...
hackit said:
I cant seem to find the twframework-res.apk, it's not in the system/framework folder. I have a sony ericsson play.
Do you know where the android settings menu icons are? the ones you see when you go into android settings. Like wireless & Networks, call settings, sound and so on.
thanks great guide.
Click to expand...
Click to collapse
Twframework-res is only found in Samsung devices. No need to worry about it. The settings icons are found in settings.apk. Settings.apk is inside the folder system/app.
Sorry for replying late.
bangalorerohan said:
I have android SDK (obviously), JRE and i used it the same way given, stilll..The error..I have a SGS SCL i9003...
Click to expand...
Click to collapse
To be honest I don't know the exact cause of the error. Have you updated Android SDK. You should click on the main SDK icon and it should show all the available updates. Select
the updates and download the files. Sorry if you have already done it.
Sorry for the late reply.
:laugh:
I forgot how to do it and now I am reading my own guide.
Thanks for this great guide! Will come in handy soon
Hi,
Here's a patch for stock odexed XXKI3 to remove vibrate icon from status bar. I don't know whether it's a bug or a feature but I hated it and removed according to instructions from this thread
Thanks to tripc1 for instructions.
RAWI.NO_VIBRATE_ICON.MOD.zip
This one is with:
- CRT Effect
- % Circle Battery mod
RAWI.NO_VIBRATE_ICON.MOD_2.zip
If the first doesn't work then try the second file. I removed the icon having already crt and battery mode applied, so SystemUI.apk was different than stock.
PLEASE DO BACKUP PRIOR TO INSTALLING!
As I can't post in Android Development section (I haven't made 10 posts requirement) I'm posting it here.
This Mod is by vintozver
Removing vibrator icon on ODEXED roms. If you have deodexed one - you will not need to odex the apk again, you will need to sign the apk instead.
The method works for ANY android version actually. You SHOULD backup your device prior doing this. You SHOULD think what you do.
Patch may not work for your device. I did this for SGS2 2.3.6 KI4 (stock).
===
We need:
0. jre/jdk
1. adb
2. apktool (for looking for resources if they differ in your version).
3. smali/baksmali tools
4. dexopt-wrapper (on Device)
Process:
1. Download SystemUI.apk and SystemUI.odex on your computer.
2. Download /system/framework to your computer (framework folder for clarity).
3. BOOTCLASSPATH=framework /opt/smali/baksmali -d framework/ -o dx_obj --api-level 9 -x SystemUI.odex
You'll have dx_obj folder filled with dalvik VM source code (dex-source).
4. Apply patch (see below), which strips out unnecessary code and icon updates.
5. /opt/smali/smali dx_obj/
6. Rename out.dex to classes.dex
7. Put classes.dex to SystemUI.apk file
8. copy updated SystemUI.apk to temporary folder on your device like: adb push SystemUI.apk /sdcard/SystemUI.apk
9. adb shell
# cd /sdcard
# dexopt-wrapper SystemUI.apk SystemUI.odex
# cp SystemUI.odex /system/app/SystemUI.odex
# sync
10. reboot the device (you may issue "reboot" command in the shell as well).
Enjoy!
Patch may be different for some roms and some android versions. The best method of searching the code has been explained in http://forum.xda-developers.com/showthread.php?p=18033801 (unpacking apk within apktool and looking for identifiers). PM me for further help.
You haven't packed the apk mate.
Hm, it's not necessary, the change is only in .odex file....
The solution is based not on removing the actual vibrate icon from apk file but on removing lines of code that shows the icon in status bar.
did NOT work ! :s
Ok, I posted the second file. Now it's with SystemUI.apk but also with other tweaks.
The second file works for sure.
Appologise for inconvenience.
Can you tell us what tweaks please? I'd like to know what I'm doing to my device before making any changes.
Tweaks for batt circle mod and crt effects comes from this thread and this.
After that I patched against vibrate icon according to the instructions.
Strange, I'm on KI3 and don't have the issue with the vibrate icon when vibrate is set to always on.
gr8 second file made me lose notification bar ...
Have you installed any other themes/mods that also modifiy SystemUI.apk?
The file I posted works perfect on pure stock xxki3 from samfirmware.com...
I have KI3... dont have the vibrate icon aftet i set it to NEVER in settings->sound->vibration...
is it the same thing we are talking here? why do we needed a modified app to do the same ?
Yes, but the problem occurs when you want to set the option to ALWAYS and you DONT want to see the vibrate icon all the time
You can upload ONLY remove Vibrate MOD without CRT Effect and % Circle Battery mod, cause I don't want change it.
JKay Settings app has a lot of tweaks, including removal of vibro-icon and it works on any rom.
Thanks for trying anyway.
Sent from my GT-I9100 using xda premium
Is this in the Android market? Can't find it.
Sorry, I didn't read carefully. After installing the file from the first link, everything is in ok! Thanks guys.
ikeny said:
Is this in the Android market? Can't find it.
Click to expand...
Click to collapse
You must install the file from the first link by CFW.
There is also a free app "Contact Vibrate". You can set all calls to vibrate even though you don't have it on "Always Vibrate" under general setting.
With the app, you can even customize the vibration pattern for each contact (if you wish to). If not, it will use a master pattern (your choice) for all.
This is good for unrooted users, or those that don't want to mess with the ROM anymore.
It is possible for KI4?
ikeny said:
There is also a free app "Contact Vibrate". You can set all calls to vibrate even though you don't have it on "Always Vibrate" under general setting.
With the app, you can even customize the vibration pattern for each contact (if you wish to). If not, it will use a master pattern (your choice) for all.
This is good for unrooted users, or those that don't want to mess with the ROM anymore.
Click to expand...
Click to collapse
Thx for the tip, works fine and i don't see the vibrate icon anymore.
Remove vibration/silence icon on any android 2.3.x
Removing vibrator icon on ODEXED roms. If you have deodexed one - you will not need to odex the apk again, you will need to sign the apk instead.
The method works for ANY android version actually. You SHOULD backup your device prior doing this. You SHOULD think what you do.
Patch may not work for your device. I did this for SGS2 2.3.6 KI4 (stock).
===
We need:
0. jre/jdk
1. adb
2. apktool (for looking for resources if they differ in your version).
3. smali/baksmali tools
4. dexopt-wrapper (on Device)
Process:
1. Download SystemUI.apk and SystemUI.odex on your computer.
2. Download /system/framework to your computer (framework folder for clarity).
3. BOOTCLASSPATH=framework /opt/smali/baksmali -d framework/ -o dx_obj --api-level 9 -x SystemUI.odex
You'll have dx_obj folder filled with dalvik VM source code (dex-source).
4. Apply patch (see below), which strips out unnecessary code and icon updates.
5. /opt/smali/smali dx_obj/
6. Rename out.dex to classes.dex
7. Put classes.dex to SystemUI.apk file
8. copy updated SystemUI.apk to temporary folder on your device like: adb push SystemUI.apk /sdcard/SystemUI.apk
9. adb shell
# cd /sdcard
# dexopt-wrapper SystemUI.apk SystemUI.odex
# cp SystemUI.odex /system/app/SystemUI.odex
# sync
10. reboot the device (you may issue "reboot" command in the shell as well).
Enjoy!
Patch may be different for some roms and some android versions. The best method of searching the code has been explained in http://forum.xda-developers.com/showthread.php?p=18033801 (unpacking apk within apktool and looking for identifiers). PM me for further help.
How to get a Transparent status bar!
ok ok there are still a few problems to work out but maybe some people smarter than I will know the answers.
Here's what you should know before we begin... MAKE A BACKUP FIRST
at the moment ..
1. this does not work with the stock touchwiz launcher (may be a simple fix havn't looked into it yet.)(well works everywhere but the desktop)
works quite well with ZEAM and not too shabby with GO EX (if you use multipicture live wallpaper from the market)
havent looked into any others.
2. the status bar is still clear on the lockscreen (may annoy some)
fixible with multipicture wallpaper just set use lockscreen settings and then lock screen settings and set a black picture.
probably not perfect but it's a start.
thanks to KBanause for providing the info needed at this link http://forum.xda-developers.com/showpost.php?p=9978779&postcount=62
This tut also assumes you have some basic computer skills and can navigate from a command prompt. and that your computer has java installed. (most do you just need the runtime enviroment if you don't have it get it here http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html)
OK if you still want to try this
START HERE
MAKE A BACKUP FIRST
download
clearstatustry.zip (attached above)
unzip this file to a folder (7zip or winrar ect whatever)
you should have 4 files here
baksmali-1.2.8.jar
smali-1.2.8.jar
statusbar_background.9 - 25.png 25% transparency
statusbar_background.9 - 50.png 50%transparency
still here . wow ok you must really want to see this.
pick one of the statusbar_background files and rename it statusbar_background.9.png
now you need the SystemUI.apk from your phone it's in /system/app
grab it with a file browser that has root access and copy it into the folder with that other crap.
next Open SystemUI.apk with your zip tool, do not extract, just open.
navigate to the res/drawable-hdpi/ folder and copy your statusbar_background.9.png over the existing one.
now go back to the root of the SystemUI.apk and Drag classes.dex out to your folder.
open a command prompt and navigate to your folder with these files.
or just shift + right click in the folder you extracted the files to and select open command prompt here.
run this command
java -jar baksmali-1.2.8.jar -o classout/ classes.dex
now go back to your folder
and navigate to classout\com\android\systemui\statusbar
open StatusBarService.smali in a txt editor
find the line
invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
above that change const/4 v5, 0x2 to const/4 v5, -0x3
save and close
Go back to your CMD prompt and enter this command
java -jar smali-1.2.8.jar classout -o classes.dex
ALMOST THERE I PROMISE
now copy the classes.dex back into the root of the SystemUI.apk file and close
MAKE A BACKUP FIRST
now just copy that systemui.apk back into the /system/app folder on your phone
dont mind the force close and reboot.
MAKE A BACKUP FIRST
if it doesn't seem to work try a live wallpaper
or use Multipicture live wallpaper from the market to set a static image.
this will probably mess up your phone but hey sorry MAKE A BACKUP FIRST
mjcollum said:
java -jar baksmali-1.2.8.jar -o classout/ classes.dex
Click to expand...
Click to collapse
For those that are unfamiliar with command line and get file not found errors, instead of typing everything try this
Code:
java -jar [b](drag baksmali-1.2.8.jar file here)[/b] -o classout/ [b](drag the classes.dex file here)[/b]
This will fill out the path to your files for you if they aren't in the root directory.
mjcollum said:
Go back to your CMD prompt and enter this command
java -jar smali-1.2.8.jar classout -o classes.dex
Click to expand...
Click to collapse
Same concept here
Code:
java -jar [b](drag smali-1.2.8.jar file here)[/b] [b](drag classout folder here)[/b] -o classes.dex
Either way, thanks for the guide. I'm sure a lot of people will find it useful
Good call I didn't even think to let people know about that.
also another heads up for anyone that doesn't know you can shift + right click in the folder and choose open command window here that way you don't have to navigate to the directory.
Wow- I can't believe this thread got buried with only a few posts.
I have followed these outstanding instructions word for word with no issues at all, however my status bar is still blacker than black! After completing this, I went back and pulled my SystemUI.apk again, decompiled it, and checked to make sure the smali edit and the .9 were still there which of course, they are. Is there an xml color code that needs to be changed as well?? I tested this with both Go launcher and ADW and no luck. Help!?!?
Thanks!
I would think that maybe using the transparent lock screen and this we could figure it out. I would love to have that option!
I really wish we could get this working. its the Last visual hack I want to do on my SII that I can't do. Everything else is perfect just really hate that black bar. I can hide it but then I can't see my info either. Grrrrr
In addition to the smali edit and the statusbar_background.9, I found an XML difference between a miui clear status bar systemUI and all of ours (as in any ET4G systemUI. I'm getting ready to mod it and push it. I'll let you know if it works!
Sent from my SPH-D710 using xda premium
I tried this step by step with no luck. To make it white could you just change -0v3 to -0v1 or make the statusbar image white?
Is this possible with apk manager using notepad++ to edit the smali file and recompiling?
Thanks.
is there an easy way for me to "change" the image to another opaque image ie an actual image not a "color"
I could just crop X pixels from the top of my image and MAKE THAT the background for the status bar if that is possible.
Ok I think I figured it out and I don't even think you have to edit the smali but I could be wrong. You have to edit the layout/statusbar xml file and at the top you see ff000000 which is black and change that to the desired color or make it transparent. I just made mine white but combined with the smali edits shown here but stock statusbar image.
nerys71 said:
is there an easy way for me to "change" the image to another opaque image ie an actual image not a "color"
I could just crop X pixels from the top of my image and MAKE THAT the background for the status bar if that is possible.
Click to expand...
Click to collapse
There is, to do that make sure you have the newest version of Android SDK, Java, and ADB
Download APK Multitool here - http://apkmultitool.com/?q=node/5
Extract it then extract the apps you are going to mod, in your case framework-res and SystemUI.
Put the SystemUI.apk in the modding folder and run the script to decompile SystemUI with the framework-res as a dependency (option 10). Before proceeding, but after decompiling check the log file to ensure everything decompiled without error, otherwise it won’t recompile. Errors are usually due to improperly patched .9.png’s, and while they can be very confusing, you can just swap bad ones out with those from a stock ROM until after you’ve made your edits.
Once you have decompiled without any errors open your project folder (inside whatever you named your APK Multitool folder and navigate to;
res/layouts/statusbar.xml:
On the second line find <com.android.systemui.statusbar.StatusBarView androidrientation="vertical" android:background="#ff000000" android:focusable="true" android:descendantFocusability="afterDescendants"
change it to
<com.android.systemui.statusbar.StatusBarView androidrientation="vertical" android:background="@drawable/statusbar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
Do the same on the second to last line which is the date view. It will have the color code (#ff000000) change it to "@drawable/statusbar_background"
Follow the prompts to recompile and use the new apk created in the mod folder called unsignedSystemUI.apk. In the drawable-hdpi folder you’ll find a png named statusbar_background.9.png, which is what will now be displayed as the status bar instead of the color code. You can make it any color you’d like. Ideally, you should ensure that the .9 is properly patched, but if you swap it out after recompiling it somehow doesn’t seem to matter much.
Good luck.
I just don't feel comfortable going to those lengths just yet.
Guess I will have to wait (hope) for a simpler solution
I tried the metamorph one but it does not work (bad file)
You only have to edit calls to the image in system UI status bar XML as someone above said. No smali edits required. Currently it calls a color code. You want it to call an image. Alternately, you could simply use a color code with transparency as well and skip editing an image all together. =P
Sent from my SPH-D710 using XDA App
nerys71 said:
I just don't feel comfortable going to those lengths just yet.
Guess I will have to wait (hope) for a simpler solution
I tried the metamorph one but it does not work (bad file)
Click to expand...
Click to collapse
It's actually easier to do than it is to read, but if you're not comfortable with t yet thats understandable.
What ROM are you using? If you send me the SystemUI.apk your using I can take a look at it.
Change the color code if you want something simple, but if you want to use an image up there, do as posted a few posts up.
calkulin's 2.7
nerys71 said:
calkulin's 2.7
Click to expand...
Click to collapse
+1, if someone has this working on calks 2.7 could you please share the files you edited? Id love to add this to my theme. If no one has already did it, ill give it a try and post results if successful
I can post one tonight, its very easy to do.
Minimal black and white theme has transparent statusbar
Sent from my SPH-D710 using xda premium
Guide – Change Navbar D.P.I. in Android Jelly Bean (4.1.1)
•Thanks to Vomer for helping me learn this and answering my questions when I had them… Also for persuading me to write this guide for others users to hopefully use to learn a small bit of Android modding, which will hopefully create more publically used mods for the benefit and growth of the community. Let’s get it…
First thing is first… This guide is created with the Galaxy Nexus in mind. Even though other phone brands (Samsung, H.T.C., LG, Sony, etc.) are now upgrading their handsets to Android Jelly Bean, this guide is created with my experience with the pure Google experience in mind and pure Google O.S. *If you are using a rom with Samsung Touch Wiz, H.T.C. Sense or anything else produced/provided by another company, this isn’t for you, although it may answer some questions and get you started in the right direction…
THE TOOLS:
I’m using an ApkTool package, which were obtained from a thread created by monstaX < Credit to him!
First off, go to this webpage http://www.mediafire.com/?acrgcd0w850q0gj and download the file. File name should be “apktoolsJB.zip”. Once you have the tools downloaded, unzip them to your desktop.
Inside the unzipped file, you will locate the following files; aapt.exe; apktool.bat; apktool149.jar; apktool142.jar; apktool144.jar and baksmali.jar.
After confirming that the above listed files are present, rename “apktool149.jar” to “apktool.jar”.
That’s it for the tools, leave the file on your desktop, as this will ultimately be your workspace along with a command prompt.
I would also download 7-Zip and Notepad++ from the internet. You can Google those two programs and download them if you don’t already have them….
GETTING WINDOWS READY:
The next thing we need to do is remove the “Environmental Values”. If you have attempted to edit/mod any apks in the past, you probably set up “Environmental Values” in “Path” under “System Variables”. If you have done this, simply navigate back to “System Variables>Path” and delete the added non-sense that you added before. An example would be something like “Android\SDK\platform-tools\;” Make sure that after you’re done deleting, you leave a “;” at the end of the “Path Variable” line of text.
Now for the fun part:
DECOMPILE/COMPILE
Once you have done the above steps, you’re now ready to have some fun.
First off, you need to download a copy of the .zip file of the ROM you’re using onto your computer OR transfer a copy of the framework-res.apk and SystemUI.apk to your computer from your G-Nex. Once you have located these files, you need to place both files into the JBapktool folder that we unzipped onto the desktop earlier.
Once you have placed both files into the JBapktool folder, open the folder and shift+right-click somewhere inside the folder (NOT ON A FILE). Once you have done that and a menu has popped up, select “Open Command Window Here”.
Once the command window has opened; you need to install the framework-res.apk… Now there is a bunch of technical jargon for this but simply and easily type the following command;
java –jar apktool.jar if framework-res.apk
You will see a line that reads “ Framework installed to: C:\Users\yournamehere\apktool\framework\1.apk”
After the above line appears, you will now decompile the framework-res.apk file. To do this, type the following command;
java –jar apktool.jar d framework-res.apk
You will now see something like:
I: Loading resource table…
I: Loaded
I: Decoding file-resources…
I: Decoding values*/* XMLs…
I: Done
I: Copying assets and libs…
*DON’T CLOSE THE COMMAND PROMPT*
After you see that, you should notice that a new file has been added to the JBapktool folder, which should be named “framework-res”. Inside that folder, you will observe the following folders/files; assets; build; dist; res; AndroidManifest.xml; apktool.yml. The file that we are worried about is the “res” file. Open the “res” folder and then navigate to the “values” folder and look for a file named “dimens.xml”. The “dimens.xml” is where the magic happens. Right click on this file and open as “Edit with Notepad++”.
Once Notepad++ is open with the “dimens.xml” file open, you want to focus on three strings in the file. The strings are: 36.0dip
36.0dip
32.0dip
*For a 32 DPI nav bar, I personally use 32 for the height and 28 for the width.*
Now here, the parts of the string that we want to change are highlighted in yellow and represent the “DPI” of the nav bar. The above lines are from a “dimens.xml” file that I changed to make a “36 DPI” nav bar. Once you have made the changes to the above dimensions, just click file and save in Notepad++ and close the program.
Now to compile the “framework-res” folder back into an .apk.
Simply go back to the command prompt that we opened earlier (you shouldn’t have closed it, but if you did follow steps above to open a new one, reinstall the framework-res.apk (STEPS ABOVE) and then continue).
Type the following command;
Java –jar apktool.jar b framework-res
You will see the following (hopefully);
W:Could not find sources
I:Checking wheter resources has changed…
I:Building resources…
I:Building apk file…
After this, you should revert back to the “JBapktool” folder and navigate to “framework-res” folder>”build”>”apk”… Look for the “resources.arsc” file. THAT’S THE MONEY SHOT…
Using 7-zip, you want to open the “framework-res.apk” file that we originally began with (I would make a copy of it and put it on my desktop). Right-click on the “framework-res.apk” file, click 7-Zip and then open archive. A new window will open, showing the visible files inside the framework-res.apk. Look for the file “resources.arsc”. Delete it, locate the “resources.arsc” from the framework-res folder (framework-res>build>apk) in the JBapktool folder. Click and drag it to the unzipped original framework-res.apk file and drop it. WE’RE DONE WITH THE FRAMEWORK-RES.APK FILE.
Now simply place that file in a CWM flashable .zip file and hold tight.
Now we need to decompile the SystemUI.apk that we placed in the JBapktool folder earlier. Follow the above listed instructions to complete this, same as we did with the framework-res.apk.
Once you have the SystemUI.apk file decompiled, look for a folder in JBapktools named “SystemUI”. Inside the “SystemUI” folder, navigate to res>layout>navigation_bar.xml. We now want to open the navigation_bar.xml file with Notepadd++, so that we can delete two lines in it that would cause a larger back button on the nav bar if left intact.
Inside the navigation_bar.xml file look for the following two lines:
"@drawable/ic_sysbar_back" android:scaleType="center"
"@drawable/ic_sysbar_back_land" android:scaleType="center"
Now, we want to delete the following from both lines:
android:scaleType="center"
After deleting that line from both lines, save the file by clicking file>save and close Notepad++. Now back go back to JBapktools and to the already opened command prompt window (it should still be open).
We are now going to compile the SystemUI. To do this type the following command;
java –jar apktool.jar b SystemUI
You will see some text in the command prompt and will ultimately see I:Building APK file…
Once this is complete, navigate back to the JBapktool folder and to the SystemUI file. Once you have the SystemUI folder open, we need to navigate to build>apk and look for the following file; AndroidManifest.xml. Now this is important, we need to replace this file with the AndroidManifest.xml file from the original unzipped SystemUI.apk. So open the original SystemUI.apk with 7-zip, and copy “META-INF” and “AndroidManifest.xml”. Once you have those copied from the original unzipped SystemUI.apk, relocate back to the JBapktool folder>SystemUI>build>apk and paste both of them. If asked to replace, CLICK YES OR REPLACE ON ALL WARNINGS THAT POP UP!!!!
Now we need to back out to the SystemUI folder in JBapktool and click on the folder that is named “dist” (the “dist” folder is where the freshly compiled SystemUI.apk is located once we type in the compile command in the command prompt). Once inside the “dist” folder, you will see a SystemUI.apk file. DELETE IT… We never use the first SystemUI.apk that we compile, because we needed to added the META-INF and AndroidManifest.xml files for signing purposes. Once you have the 1st compiled SystemUI.apk deleted, return to the command prompt and enter the compile command again and compile a 2nd SystemUI.apk.
The 2nd SystemUI.apk will appear in the “dist” folder and is the usable SystemUI.apk.
Now that you have your new SystemUI.apk compiled, place it in the same CWM flashable .zip file, boot into recovery, wipe cache and dalvik cache and VOILA, you have just pimped your nav bar’s DPI.
•Remember when placing the SystemUI.apk file into your CWM .zip file to place it under /system/App. And when placing your framework-res.apk into your CWM .zip file it goes under /system/framework…
The mods and this guide take time for us to put together for your enjoyment/the improvement of the community. If I or anyone else has helped you, please hit the “Thank You” button. Thanks.
Great tutorial
Sent from my Galaxy Nexus using Tapatalk 2
Thank's man.....................
APatte111: could you upload your 32 height 28 landscape framework-res for v4 rom ?
Great guide.
If you dont want to waste time uploading....its all good anyway mate :good:
bs android said:
APatte111: could you upload your 32 height 28 landscape framework-res for v4 rom ?
Great guide.
If you dont want to waste time uploading....its all good anyway mate :good:
Click to expand...
Click to collapse
This is not the mods thread
Great job bud!
Also, remember guys - if you make a MiNCO Mod - share with other's in the MiNCO Plus+ Thread. Chances are someone else would want it too
bs android said:
APatte111: could you upload your 32 height 28 landscape framework-res for v4 rom ?
Great guide.
If you dont want to waste time uploading....its all good anyway mate :good:
Click to expand...
Click to collapse
This framework-res.apk is in place in several of the mods in the MiNCO Plus+ mods and enhancements thread that vomer began... Just download one of the mods and extract the framework-res.apk from one of the .zip files... Probably the easiest way to get it...
Sent from my Galaxy Nexus using xda premium
vomer said:
This is not the mods thread
Great job bud!
Click to expand...
Click to collapse
OK sorry for asking OP if that annoys you
APatte111 said:
This framework-res.apk is in place in several of the mods in the MiNCO Plus+ mods and enhancements thread that vomer began... Just download one of the mods and extract the framework-res.apk from on of the .zip files... Probably the easiest way to get it...
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Nice APatte, I saw it now, downloaded and tried your framework with vomers standard white for minco rom. Got the failure in back button so guess I have to wait till I get home to a computer to fix it. Thanks for the guide anyway, love different and smaller navbars.
bs android said:
Got the failure in back button so guess I have to wait till I get home to a computer to fix it. Thanks for the guide anyway, love different and smaller navbars.
Click to expand...
Click to collapse
Yeah, if by "failure" you mean the larger back key then that is being caused by the un-edited navigation_bar.xml file which is located in SystemUI.apk>res>layout... You need to delete the two lines mentioned above, re-compile the SystemUI.apk and everything should be golden. Let me know if it doesn't work and I will help ya... Good Luck
Good guide!
Great job man!! Great tutorial!
:good::good::good::good::good:
MAN CHANGE THIS IS WRONG!! Java –jar apktool.jar b frame-work
IT IS java -jar apktool.jar b framework-res
masterchif92 said:
MAN CHANGE THIS IS WRONG!! Java –jar apktool.jar b frame-work
IT IS java -jar apktool.jar b framework-res
Click to expand...
Click to collapse
Thanks, you found a typo and the one mistake in the whole guide... Appreciate that...
Sent from my Galaxy Nexus using xda premium
After looking at 5 or 6 other guides. This one is BY FAR the easiest to understand & includes everything you need to get the job done.
Thanks a ton OP!
i cant seem to find the "@drawable/ic_sysbar_back" & "@drawable/ic_sysbar_back_land" in the navigation_bar.xml file. Any help please? I must mention that i am on AndroidME CM10 1.7.0 and took both files from the cwm zip.
Only repeating line i can find is "@drawable/ic_sysbar_lights_out_dot_large" . Dont know if it is the same.
I ve done some android developing in the past. every linear_layout represents a button, right?
angelossssss said:
i cant seem to find the "@drawable/ic_sysbar_back" & "@drawable/ic_sysbar_back_land" in the navigation_bar.xml file. Any help please? I must mention that i am on AndroidME CM10 1.7.0 and took both files from the cwm zip.
Only repeating line i can find is "@drawable/ic_sysbar_lights_out_dot_large" . Dont know if it is the same.
I ve done some android developing in the past. every linear_layout represents a button, right?
Click to expand...
Click to collapse
Can you upload the navigation_bar.xml file for me so I could have a look...
*** Nice signature by the way *** LOL
Sent from my Galaxy Nexus using xda premium
APatte111 said:
Can you upload the navigation_bar.xml file for me so I could have a look...
*** Nice signature by the way *** LOL
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
here. i uploaded in my dropbox.
https://www.dropbox.com/s/7331l8fqs7a99yg/navigation_bar.xml
Thanks for the signature
---------- Post added at 08:25 PM ---------- Previous post was at 08:17 PM ----------
angelossssss said:
here. i uploaded in my dropbox.
https://www.dropbox.com/s/7331l8fqs7a99yg/navigation_bar.xml
Thanks for the signature
Click to expand...
Click to collapse
actually nevermind that... i just flashed the cwm without the systemui.apk and it seems to be working fine. lol
angelossssss said:
here. i uploaded in my dropbox.
https://www.dropbox.com/s/7331l8fqs7a99yg/navigation_bar.xml
Thanks for the signature
---------- Post added at 08:25 PM ---------- Previous post was at 08:17 PM ----------
actually nevermind that... i just flashed the cwm without the systemui.apk and it seems to be working fine. lol
Click to expand...
Click to collapse
I was going to say, it looks like they have already removed that from the navigation_bar.xml file... The description of the ROM shows that Nav Bar Options are included... You could change the DPI size, compile and see if the back button is larger (which is what deleting those two lines fix)... If it's not (which you stated it's working) then skip that step....
APatte111 said:
I was going to say, it looks like they have already removed that from the navigation_bar.xml file... The description of the ROM shows that Nav Bar Options are included... You could change the DPI size, compile and see if the back button is larger (which is what deleting those two lines fix)... If it's not (which you stated it's working) then skip that step....
Click to expand...
Click to collapse
y i only compiled the framework-res.apk but i thing now my phone became a little laggy. especially when swipping between screens and opening apps.
i'll check it out if i did anything wrong.
angelossssss said:
y i only compiled the framework-res.apk but i thing now my phone became a little laggy. especially when swipping between screens and opening apps.
i'll check it out if i did anything wrong.
Click to expand...
Click to collapse
Check in the ROM and see if there is already a built in option to change the nav bar DPI size... if not, make the changes to the dimens.XML file and then recompile/replace the .apk and re-flash... that should work and everything should be normal...
Sent from my Galaxy Nexus using xda premium
APatte111 said:
Check in the ROM and see if there is already a built in option to change the nav bar DPI size... if not, make the changes to the dimens.XML file and then recompile/replace the .apk and re-flash... that should work and everything should be normal...
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
unfortunately there is not. it only has options to change the buttons order.
Does anyone know a way of changing the height of the navigation bar? I used AOKP on my Gnex and could do it using the ROM but want to keep a rooted stock ROM on my N4 (for now)
Thanks
Sent from my Nexus 4 using xda premium
dave83uk said:
Does anyone know a way of changing the height of the navigation bar? I used AOKP on my Gnex and could do it using the ROM but want to keep a rooted stock ROM on my N4 (for now)
Thanks
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
you have to decompile the framework-res.apk
after decompiling you have to edit the dimens.xml file in res/values
you have to change the size of the navbar in 3 places
dimen name="navigation_bar_height">38.0dip</dimen>
<dimen name="navigation_bar_height_landscape">38.0dip</dimen>
<dimen name="navigation_bar_width">38.0dip</dimen>
for example, i choosed 38 dpi, but choose your own size
then recompile and exchange the apk with yours and your good to go
good tutorial
http://modstorm.co/tutorials/
Some ROMs have it..I.e. Rasjelly
Sent from my Nexus 4 using Tapatalk 2
pa.pn2 said:
you have to decompile the framework-res.apk
after decompiling you have to edit the dimens.xml file in res/values
you have to change the size of the navbar in 3 places
dimen name="navigation_bar_height">38.0dip</dimen>
<dimen name="navigation_bar_height_landscape">38.0dip</dimen>
<dimen name="navigation_bar_width">38.0dip</dimen>
for example, i choosed 38 dpi, but choose your own size
then recompile and exchange the apk with yours and your good to go
good tutorial
http://modstorm.co/tutorials/
Click to expand...
Click to collapse
Great thank you for the detailed instructions. I will take a look and give it a try.
Sent from my Nexus 4 using xda premium
My bad
Hi,
I tried to decompile the framework-res.apk, change the values to 38 and recompile but my device gets stuck on the Nexus logo whenever I try to boot it. apktool and aapt are up-to-date. What makes me think is that the framework-res.apk is ~10mb before and ~6mb after the process And I don't know how to make a flashable zip so I used the TWRP file manager. Could that be the source of my problem?
Shedao said:
Hi,
I tried to decompile the framework-res.apk, change the values to 38 and recompile but my device gets stuck on the Nexus logo whenever I try to boot it. apktool and aapt are up-to-date. What makes me think is that the framework-res.apk is ~10mb before and ~6mb after the process And I don't know how to make a flashable zip so I used the TWRP file manager. Could that be the source of my problem?
Click to expand...
Click to collapse
how did you recompile it?and the size is not abnormal, in my case its always like yours smaller yes
take this tool
http://forum.xda-developers.com/showthread.php?t=2032613&page=2
its up to date for 4.2.1
works fine for me
pa.pn2 said:
how did you recompile it?and the size is not abnormal, in my case its always like yours smaller yes
take this tool
http://forum.xda-developers.com/showthread.php?t=2032613&page=2
its up to date for 4.2.1
works fine for me
Click to expand...
Click to collapse
Ok, short story: It still doesn't work but thanks for the quick answer.
I took the apkmanager from your link and unpacked my framework-res.apk but in the new folder projects/framework-res/res there is no values folder Some google searching revealed that it is important to "install" the framework-res.apk on the PC so I opened a command prompt and used the apktool if framework-res.apk command and got the user/apktool/framework/1.apk. Unfortunately that doesn't seem to change anything. Unpacking the framework-res.apk still don't give me the values folder.
What am I missing? Could you write a step by step explanation?
Shedao said:
Ok, short story: It still doesn't work but thanks for the quick answer.
I took the apkmanager from your link and unpacked my framework-res.apk but in the new folder projects/framework-res/res there is no values folder Some google searching revealed that it is important to "install" the framework-res.apk on the PC so I opened a command prompt and used the apktool if framework-res.apk command and got the user/apktool/framework/1.apk. Unfortunately that doesn't seem to change anything. Unpacking the framework-res.apk still don't give me the values folder.
What am I missing? Could you write a step by step explanation?
Click to expand...
Click to collapse
hmm strange
i just put the framework-res.apk in into the modding folder and then i choose point 9, decompiling, thats it
pa.pn2 said:
hmm strange
i just put the framework-res.apk in into the modding folder and then i choose point 9, decompiling, thats it
Click to expand...
Click to collapse
Ok, the weirdness just goes on. I tried to use point 9 (decompile) and got a java error, something I already knew from the apktool itself. The answer was to replace the old aapt.exe and apktool.jar in the apkmanager/other folder. Now decompiling works just great and I get the dimens.xml. Changed the numbers according to your values with Notepad++ and saved. Recompiling with the apkmanager works up to the point where I have to delete all modified files. As there is no values/dimens.xml I could delete, I just delete the resources.arsc. The question for a system apk I answer with yes and in the end I have a signedframework-res.apk.
I rename it to framework-res.apk, go into fastboot/TWRP and use its filemanager to replace the original apk with my modified one. And then -> endless nexuslogo on booting
I really want to learn something from this whole mess, so where is the big mistake?
Shedao said:
Ok, the weirdness just goes on. I tried to use point 9 (decompile) and got a java error, something I already knew from the apktool itself. The answer was to replace the old aapt.exe and apktool.jar in the apkmanager/other folder. Now decompiling works just great and I get the dimens.xml. Changed the numbers according to your values with Notepad++ and saved. Recompiling with the apkmanager works up to the point where I have to delete all modified files. As there is no values/dimens.xml I could delete, I just delete the resources.arsc. The question for a system apk I answer with yes and in the end I have a signedframework-res.apk.
I rename it to framework-res.apk, go into fastboot/TWRP and use its filemanager to replace the original apk with my modified one. And then -> endless nexuslogo on booting
I really want to learn something from this whole mess, so where is the big mistake?
Click to expand...
Click to collapse
dont delete modified files,just type n, if asked for system app type y
recompiling with option 11
use this file(Brainmasters.Battery.Mod.Flasher.Nexus.4.zip) to flash the apk in recovery, dont do it via filemanager
add a folder called framework on your desktop, open the folder, put your framework.res.apk into it and put the complete new created folder within your apk into the .zip into the second folder, where you find a system folder. so there should be a system and your framework folder
http://forum.xda-developers.com/showthread.php?t=2037171
first download link is the .zip
also,check your java setup,maybe your paths are wrong
had alwyas problems with this ****ty paths of java before
watch this video to keep your java structure correct
http://www.youtube.com/watch?v=oowsJcJLmss
Finally it worked.
Thanks for all your patience and help. My way was somewhat different from yours so here is a quick overview for those facing the same problems:
1. Download apktool from here http://code.google.com/p/android-apktool/
2. Follow the steps in this tutorial to decompile, modify and recompile the framework-res.apk http://modstorm.co/tutorials/
3. Download the Brainmasters.Battery.Mod.Flasher.Nexus.4.zip from this location http://forum.xda-developers.com/showthread.php?t=2037171
4. Safety-step: Put the original UNmodified framework-res.apk in a new folder with the name "framework" and put this one into the system folder from the zip above. Rename the zip to something like originalframework.zip
5. Now repeat step 4 with the modified framework-res.apk and another copy of the zip from step 3. Name this zip to something like newframework.zip
6. Copy both new zips onto your phone, reboot into recovery and flash.
Shedao said:
Finally it worked.
Thanks for all your patience and help. My way was somewhat different from yours so here is a quick overview for those facing the same problems:
1. Download apktool from here http://code.google.com/p/android-apktool/
2. Follow the steps in this tutorial to decompile, modify and recompile the framework-res.apk http://modstorm.co/tutorials/
3. Download the Brainmasters.Battery.Mod.Flasher.Nexus.4.zip from this location http://forum.xda-developers.com/showthread.php?t=2037171
4. Safety-step: Put the original UNmodified framework-res.apk in a new folder with the name "framework" and put this one into the system folder from the zip above. Rename the zip to something like originalframework.zip
5. Now repeat step 4 with the modified framework-res.apk and another copy of the zip from step 3. Name this zip to something like newframework.zip
6. Copy both new zips onto your phone, reboot into recovery and flash.
Click to expand...
Click to collapse
good job
i always do a backup of the original too
nice that you got it working^^
Argh cant get this to work
always get fail after flashing
EDIT: GOT IT WORKING NOW!! AWESOME!
ugene1980 said:
Argh cant get this to work
always get fail after flashing
EDIT: GOT IT WORKING NOW!! AWESOME!
Click to expand...
Click to collapse
How did you now do that? I'm currently stuck at the same Situation..
Tried it like told above, but without luck. The backup file boots fine, while the modified one simply doesnt.
someone can post a small nav bar...please....
please...please...
i'm using stock rom...
R: Navigation bar height
Nobody With a soul?
Please..
Inviato dal mio Nexus 4 con Tapatalk 2
wheres your prob?not able to read?anything you need to know is in the op
R: Navigation bar height
Yes I'm not able with Mac..totally unable..I'm a bit stupid
Inviato dal mio Nexus 4 con Tapatalk 2
coloxim said:
Yes I'm not able with Mac..totally unable..I'm a bit stupid
Inviato dal mio Nexus 4 con Tapatalk 2
Click to expand...
Click to collapse
hmm mac is different
have a look for apktool then for mac in xda search, i bet you will find something
if not here it is http://code.google.com/p/android-apktool/