Related
So, it seems that more people are taking an interest in making custom frameworks. This isn't really a full tutorial, but I thought it would be helpful to just post some tips on how to go about making your own framework-res.apk, save others a bit of time retreading old ground, since the methods are scattered around the site a bit!
Thanks to wdl1908 for prompting me to do this - should really have done this sooner!
Okay, so basic requirements:
Rooted Gen 8 (Uruk or chulri method)
Original Archos framework-res.apk
zip editor
image editing software
.png's to replace the stock ones with
That's about it! I've been using GIMP on Ubuntu for the image editing, and Phatch for batch resizing, but Photoshop will work just as well on Windows.
Edit: Thanks to wdl1908, have found that Gwenview gives much better results when resizing, compared to Phatch or GIMP. Works on both Ubuntu and KDE.
Use your preferred zip editor to unzip the contents of framework-res.apk to your chosen folder. The main folder of interest is "drawable-mdpi".
The Gen 8's use MDPI resolution images (well, A70 and A101 to at any rate. I think someone mentioned the A32 or A43 used HDPI images). Depending on your .png source, you may need to resize the images. I took my images from themes made for the Desire, which is an HDPI device, so I used GIMP/Phatch to resize them.
In terms of resizing, I compared the size of each new png with the original one, and resized. I know p0rkburn just resizes the images to 66%, but I've had problems with some images not coming out the right size that way. The other thing to watch out for is that not all the images need resizing. Also, some of the textfield and tab_select images are different proportions to their phone equivalents, so again watch out for that.
Once you've replaced the images you want to, they need to be put back into the .apk. I used to copy and paste into the framework-res.apk, but that doesn't work for 9patch files. Also, wdl1908's FrameWorkBuilder makes the compile process so ridiculously easy, there is no reason not to use that instead.
To put the new framework-res.apk on the device, I use this method via ADB wireless, which works fine.
Happy theming!
EDIT: 9patch files
These can be a PITA, until you understand how they work. I used the following two sources to finally crack it :
http://developer.android.com/guide/developing/tools/draw9patch.html
http://forum.xda-developers.com/showthread.php?t=580351
If you are changing 9patch files, you have to decompile and recompile using the FrameWorkBuilder.
I prefer using the draw9patch tool, as it lets you check that the 9patch works as expected.
Spent enough time bashing my head against a brick wall trying to sort out 9patch files, so if I can spare anyone else that, feel free to post/PM..
I'll leave this post here for my recommendations that will be more complex when you need to modify xml files.
In short the procedure is a follows (this needs to be expanded)
unpack the apk to framework-res-UNPACKED dir
decompile the apk to framework-res-DECOMPILED (with apktools)
copy framework-res-MOD to framework-res-DECOMPILED
compile framework-res-COMPILED (with apktools)
unpack the compiled apk to framework-res-COMPILED (with 7za)
remove all the files that are present in framework-res-MOD from the framework-res-UNPACKED dir
remove the file resources.arsc from framework-res-UNPACKED
copy all files from framework-res-UNPACKED to framework-res-COMPILED
zip all files in framework-res-COMPILED to the new framework-res.apk
remove the resources.arsc from that apk file
readd the resources.arsc file without compression to the new apk file
Done
The reason this is so complex is that their are bugs in apktools and the signature needs to be preserved.
FrameWorkBuilder v0.3
README.txt
-------------------------------------------------------------------------------------------------------
Place the script FrameWorkBuilder.sh in a directory and execute.
The script will download all the needed tools.
Place framework-res.apk in the dir framework-res-STOCK
Place mods in framework-res-MOD follow the usual directory structure.
Example:
framework-res-MOD
framework-res-MOD/res
framework-res-MOD/res/drawable-hdpi
framework-res-MOD/res/drawable-mdpi
framework-res-MOD/res/drawable
Execute FrameWorkBuilder.sh to apply the mod.
Modded framework-res.apk will be stored in the directory framework-res-MODDED.
-------------------------------------------------------------------------------------------------------
Changelog
-------------------------------------------------------------------------------------------------------
v0.3 Added xml png duplication check to avoid that animations don't work. .9.png support
v0.2 Added mod checks Added compile failure test
v0.1a BUGFIX cp dirs
v0.1 Initial version
-------------------------------------------------------------------------------------------------------
Have fun modding.
wdl1908 said:
I'll leave this post here for my recommendations that will be more complex when you need to modify xml files.
If you don't mind we'll make it a joined tutorial. I have no time now it's time I got some sleep.
Click to expand...
Click to collapse
I have no idea about editing XML files, but that was the next thing on my "To learn" list. I would be very happy for you to add your knowledge to this thread.
Also, if anyone has info to add/corrections to make, please feel free.
Good stuff, guys. At the very least we can make this a three man party.
The more the merrier!
Guys, can I ask what device you're both using?
fisha21 said:
Guys, can I ask what device you're both using?
Click to expand...
Click to collapse
A101IT with archangel root
A70IT with chulri's root
fisha21 said:
The more the merrier!
Click to expand...
Click to collapse
well, if i can do something, i'm here ;-)
wdl1908 said:
A101IT with archangel root
A70IT with chulri's root
Click to expand...
Click to collapse
Cool, thanks. Also, can I ask how you're viewing the XML files? Every program I've tried won't open them - keep getting error messages about invalid character content.
woti23 said:
well, if i can do something, i'm here ;-)
Click to expand...
Click to collapse
Welcome...
fisha21 said:
Cool, thanks. Also, can I ask how you're viewing the XML files? Every program I've tried won't open them - keep getting error messages about invalid character content.
Click to expand...
Click to collapse
You have to decompile the framework-res.apk with the apktools then all is revealed.
I have an A43it, and I find it to use a mixture of the hdpi and mdpi drawables, it is quite odd how they have it. I am drawing this conclusion because I only changed the hdpi drawables, and some things (status bar pull down for one) stayed original. I am going to work some more on it later today and will update here. My method for pushing to the device uses adb like such:
Code:
adb push framework-res.apk /sdcard/framework-res.apk
adb shell
su
stop
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk (only needs to be done the first time, as the permissions will adopt those when replacing in the future)
start
This causes the device to do a little soft-reboot (does not perform a proper full shutdown/reboot) that is pretty quick, and avoids any f/c situations you may encounter replacing the file while the system is live.
Edit 2 - ok, I just plain old missed the drawables earlier, they are all in hdpi for the A43. Posting screenshots of what I have put together shortly.
daveid said:
My method for pushing to the device uses adb like such:
Code:
adb push framework-res.apk /sdcard/framework-res.apk
adb shell
su
stop
cp /sdcard/framework-res.apk /system/framework/framework-res.apk
chmod 644 /system/framework/framework-res.apk (only needs to be done the first time, as the permissions will adopt those when replacing in the future)
start
This causes the device to do a little soft-reboot (does not perform a proper full shutdown/reboot) that is pretty quick, and avoids any f/c situations you may encounter replacing the file while the system is live.
Click to expand...
Click to collapse
Great I was looking for that.
wdl1908 said:
[*]compile framework-res-COMPILED (with apktools)
Click to expand...
Click to collapse
Getting stuck on the above step. Have got a folder called framework-res-DECOMPILED. When I try to compile it, the first message I get is:
Code:
w:Could not find sources.
It then runs through the process throwing up multiple error messages, and at the end I am left with an empty Build folder. Any ideas? I read on the Apktool thread that you need to add a classes.dex file to apk that don't already have one?
Thought I'd try your method as my primitive version keeps resulting in faulty apk's the last day or two!
fisha21 said:
Getting stuck on the above step. Have got a folder called framework-res-DECOMPILED. When I try to compile it, the first message I get is:
Code:
w:Could not find sources.
Click to expand...
Click to collapse
No problem there thats only a warning.
fisha21 said:
It then runs through the process throwing up multiple error messages, and at the end I am left with an empty Build folder.
Click to expand...
Click to collapse
What error messages?
fisha21 said:
Any ideas? I read on the Apktool thread that you need to add a classes.dex file to apk that don't already have one?
Click to expand...
Click to collapse
What version of apktools do you have?
never needed any classes.dex in framework-res.apk
fisha21 said:
Thought I'd try your method as my primitive version keeps resulting in faulty apk's the last day or two!
Click to expand...
Click to collapse
I'll try to cleanup my script and post it soon.
I just found out we can have custom boot animations on our gen 8 devices.
search for some bootanimation.zip on the web or go to UOT Kitchen and download one from the kitchen. place it in the directory /data/customization/ and reboot. This works even for the stock firmwares with archangel root.
Enjoy
I've added the first version of my FramWorkBuilder script in the second post.
wdl1908 said:
I've added the first version of my FramWorkBuilder script in the second post.
Click to expand...
Click to collapse
Thanks for the hard work!
Gave it a run through but get the following error messages:
Code:
Applying MOD...cp: cannot stat `/home/sarju/FWB/framework-res-MOD/*': No such file or directory
and
Code:
Copy files from UNPACKED to COMPILED that are not modified...cp: cannot stat `/home/sarju/FWB/WorkSpace/framework-res-UNPACKED/*': No such file or directory
The script is located in the "FWB" folder.
fisha21 said:
Code:
Copy files from UNPACKED to COMPILED that are not modified...cp: cannot stat `/home/sarju/FWB/WorkSpace/framework-res-UNPACKED/*': No such file or directory
The script is located in the "FWB" folder.
Click to expand...
Click to collapse
yeah download the 0.1a version and try again.
wdl1908 said:
yeah download the 0.1a version and try again.
Click to expand...
Click to collapse
Ok, think I'm just being stoopid here. Ran the v0.1a, no error messages BUT
If I use the folder structure "framework-res-MOD>drawable-mdpi", the resulting apk just has the original contents of drawable-mdpi. If I use "framework-res-MOD>res>drawable-mdpi", the resulting pak has an empty drawable-mdpi folder.
fisha21 said:
Ok, think I'm just being stoopid here. Ran the v0.1a, no error messages BUT
If I use the folder structure "framework-res-MOD>drawable-mdpi", the resulting apk just has the original contents of drawable-mdpi. If I use "framework-res-MOD>res>drawable-mdpi", the resulting pak has an empty drawable-mdpi folder.
Click to expand...
Click to collapse
the structure should look like this.
Code:
framework-res-MOD
framework-res-MOD/res
framework-res-MOD/res/drawable-hdpi
framework-res-MOD/res/drawable-ldpi
framework-res-MOD/res/drawable-mdpi
framework-res-MOD/res/drawable
but make sure you remove empty dirs.
I suspect it has to do with empty dirs I'll check that....
Nope tthats not it.
can you zip up the files files-to-remove.txt and log.txt in the WorkSpace dir and post them or via pm if thats possible.
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
Hey guys !
I made a quick NoIncRing MOD, I figured while i was at it i would explain how to create the MOD.
I would like to Thank criskelo for his ZIP :
http://forum.xda-developers.com/showthread.php?t=1700174
I don't own an S3 but i did have the mod checked by an owner (works), i don't know what rom's it will work on so make a backup (as i said in the instructions).
How to Flash :
1. make sure you phone has a CWM recovery
2. backup SecPhone.apk and Secphone.odex (for odex rom's)
3. download the zip and place it in your internal SD
4. flash using, install zip from sd - choose zip from sd card
Download :
[urlhttp://www.mediafire.com/?h3nriarzvifhug2[/url]
*Tested on LEN
I'll be happy to make Mod's for Any ROM you want. Simply attach the SecPhone.apk application from System/app
HOW TO ?
1. extract Secphone.apk from your phone/rom - system/app
2. download baksmali.jar and smali.jar from : http://code.google.com/p/smali/
3. extract classes.dex from SecPhone.apk
4. Put the classes.dex in to a folder alon with smali.jar and backsmali.jar then open a COMMAND window and navigate to the folder.
5. enter the following command :
java -Xmx512m -jar baksmali.jar -a 15 classes.dex
Click to expand...
Click to collapse
6. You will now have an OUT folder, inside find : Ringer$1.smali
7. Look for 2 lines containing :
setstreamvolume
Click to expand...
Click to collapse
8. Erase them (one is at the middle and one at the end)
9. now go back to your folder with classes.dex, OUT folder and smali.jar and erase classes.dex (VERY IMPORTANT !!)
10. In the command window enter :
java -Xmx512m -jar smali.jar out -a 15 -o classes.dex
Click to expand...
Click to collapse
11. Now you will have a new classes.dex , drag it back in to your SecPhone.apk and in to my ZIP.
12. Flash and enjoy
this is such a great mod! Thanks again. Works perfectly!
So many awesome MOD.
Your welcome guys
Thanks for the mod but where the heck does secphone.apk live so I can back it up? A search in ES File explorer yielded no results.
Ah there you are............. system/app/
Hey I'm learning this stuff. That's my story and sticking to it!
the best way to figure these things out is by opening my zip with 7zip or winzip.
Inside you will see META-inf and system
then you can tell where the apps/xml's go !
system/app/secphone.apk
yoelsd said:
the best way to figure these things out is by opening my zip with 7zip or winzip.
Inside you will see META-inf and system
then you can tell where the apps/xml's go !
system/app/secphone.apk
Click to expand...
Click to collapse
That's good to know.
The Mod works great on my SPH-L710. Thanks!! :good:
?
Has anyone tried this mod yet with the LF9 update?
Update: tried to apply Sprint's latest update from an update zip in CWM in another thread in this section and it failed because the update could not find "secphone.apk". So I copied back secphone.apk and secphone.odex, did the Sprint update.zip (LF9) and then re-flashed this mod. So far everything is working well.
This works GREAT for the Note II. Thank you for posting it!
Can this be updated for LJ7?
Sent from my SPH-L710 using xda premium
It works on LJ7 if you follow the how to.
yoelsd said:
HOW TO ?
1. extract Secphone.apk from your phone/rom - system/app
2. download baksmali.jar and smali.jar from :
3. extract classes.dex from SecPhone.apk
Click to expand...
Click to collapse
I tried to follow the "how to" so that I could do this myself. However after extracting SecPhone.apk there is no "classes.dex" inside of SecPhone.apk... What should I do to get this to work?
I am running the: Sprint LJ7_update_FULL_Odex Rom
Thanks in advance!
mod applied
I followed your instructions ad succesfully applied mod on galaxy i9100 XWLSJ stock rom.
thanks
delete plz
I downloaded the smali and baksmali files and followed the instructions but when I enter the first code my cmd windows says it can't be accessed. Any help? Do I need to decompile first or can I just open the apk with winrar?
Has anyone else got this to work on MD4? I looked for the setstreamvolume and could only find one line. Is that all there is?
I finally got this to work on MD4.
i can confirm that this does NOT work on MD3 rom.
Has anyone figured out how to fix that on md3 rom? I'm usie an app, which works, but also is always running in the background.
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.
I wanted to increase number of volume step following this (http://forum.xda-developers.com/showthread.php?t=1411317&page=20)
I pulled the framework.odex and baksmali it but it didn't work because of dependency or something like that. Then I pulled all the odex file in there and succesfully baksmali framework.odex
I edited the smali file needed and then smali it to framework.dex. This is where I'm stuck.
The original framework use odex file, not dex file. So I guess I need to reodex the framework.dex to odex. But all the guides I found about reodex seem to be used for cooked rom, the jar files all have classes.dex in it and there 's no odex file.
Then I tried to put framework.dex into original framework.jar file (after change its name to classes.dex), use command "dexopt-wrapper framework.jar framework.odex", and overwrite the original framework.odex. The device coudn't start, it stuck at "nokia" text (is it called bootloop?)
So what is the proper way to do it ? Thanks
PS: I did it. There is a very similar example here, I missed a few thing: http://www.jordanhotmann.com/2011/08/how-to-change-default-orientation-of.html
MarryJ said:
I wanted to increase number of volume step following this (http://forum.xda-developers.com/showthread.php?t=1411317&page=20)
I pulled the framework.odex and baksmali it but it didn't work because of dependency or something like that. Then I pulled all the odex file in there and succesfully baksmali framework.odex
I edited the smali file needed and then smali it to framework.dex. This is where I'm stuck.
The original framework use odex file, not dex file. So I guess I need to reodex the framework.dex to odex. But all the guides I found about reodex seem to be used for cooked rom, the jar files all have classes.dex in it and there 's no odex file.
Then I tried to put framework.dex into original framework.jar file (after change its name to classes.dex), use command "dexopt-wrapper framework.jar framework.odex", and overwrite the original framework.odex. The device coudn't start, it stuck at "nokia" text (is it called bootloop?)
So what is the proper way to do it ? Thanks
PS: I did it. There is a very similar example here, I missed a few thing: http://www.jordanhotmann.com/2011/08/how-to-change-default-orientation-of.html
Click to expand...
Click to collapse
It's really great that you created something for yourself. But what will be even more greater, if you shared it withe community. So I advise that when you finish with this project and if successful, upload it so that we can also admire your work.