So guys i know many of you are there who just got into love with the new Android 4.0 Ice Cream Sandwich….Hmm many of you were addicted to the on screen ics keys or the soft keys as seen on nexus prime…well they were removed on the existing phones due to presence of physical buttons.
So i know many of you would like it back. Firstly a big thanks to evilisto for the tutorial..Well i decided to re write the tutorial cuz the orginal thread was really very tough for noobs….so i decided to make it more simpler…Well IT DOES NOT WORK ON STOCK OR WITH ANY ROM WITH TW LAUNCHER….OR STOCK ROMS LIKE THE HTC SENSE
So lets get started:
Requirements:
The Pulling Process:
So first comes the part where you need to extract the framework-res.apk file from your phone. So firstly on your phone go to settings–>developer options–>and then tick the usb debugging box….
Open up cmd and navigate to the android sdk\platform-tools directory.Type in
adb devices
adb pull system/framework/framework-res.apk
When you type in the first command and if you see the number of devices to blank or 0, re install the phone’s usb drivers or you have not enabled usb debugging.
The Decompilation Process-:
So now comes the part where we decompile the framwork-res.apk file. So for this download and extract the apktool package(mentioned in requirements) in a folder. Open up cmd again and navigate to this folder.
Type in
There should be no errors in this process, if any then you don’t have administrator privileges or you don’t have java runtime environment installed.
Redo the steps and you will be good to go.
The Editing Process:
The Recompilation-:
So now the comes the most important part the re compilation part. Well many can receive errors in this part..even i did but just leave your queries in the comments, i will fix them. So again open up cmd as admin and navigate to the extracted folder.
In cmd type in:
apktool b framework
Note:::!!!!!!!!!!
If you guys are having problem with the recompilation you can follow the tutorial for it over here. It is easier and more efficient….
i follow this step by step and end when i restart, it wont boot.
Your problem was fixed by replacing meta-inf folder……As read on youtube.
its still not booting i am getting the message init: untracked pid xxxx exited.. :(:(:(
any idea i have done all the steps on video tutorial plz help…
How did you replace the framework-res.apk file from your phone…? (also it does not work on stock rom)
can you upload your modified ,apk file please..
Provide me the original apk file, i will modify it and will make a flashable zip for ya…
how can i upload my framework-res.apk file. actually i working on beagle board xm
is there anr other way to get softkeys enabled rootfs
Well which rom are you using?
I will try to fetch the framework-res.apk file from it and will modify it for ya.
I shall try and see
I am getting errors when I recompile…
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Kyle>cd desktop
C:\Users\Kyle\Desktop>cd new folder
C:\Users\Kyle\Desktop\New folder>apktool d framework-res.apk
I: Loading resource table…
I: Loaded.
I: Decoding file-resources…
I: Decoding values*/* XMLs…
I: Done.
I: Copying assets and libs…
C:\Users\Kyle\Desktop\New folder>apktool b framework
Exception in thread “main” brut.androlib.AndrolibException: brut.directory.Direc
toryException: java.io.FileNotFoundException: framework (The system cannot find
the file specified)
at brut.androlib.Androlib.readMetaFile(Androlib.java:142)
at brut.androlib.Androlib.build(Androlib.java:159)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.directory.DirectoryException: java.io.FileNotFoundException: fra
mework (The system cannot find the file specified)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.Androlib.readMetaFile(Androlib.java:138)
… 4 more
Caused by: java.io.FileNotFoundException: framework (The system cannot find the
file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(Unknown Source)
at java.util.zip.ZipFile.(Unknown Source)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:53)
… 7 more
C:\Users\Kyle\Desktop\New folder>
Well i guess the best would be that you upload the framework-res.apk from your rom and i will make a flashable zip for ya…
Okay thanks! http://www.mediafire.com/?romaolz4774a0yk
I too got recompile error on your framework file…which rom are you running?
I’m using Evervolv 4.0.4. It’s okay though, I don’t need soft keys working but it would be cool. I’m soon buying a Galaxy Nexus but thanks anyway!
I am getting errors when i try to recompile. droid x2 cm9 alpha 3
http://forum.xda-developers.com/attachment.php?attachmentid=1118408&d=1339281173
http://forum.xda-developers.com/attachment.php?attachmentid=1118408&d=1339281173
try this one please……
hey could you make a flashable zip for me??
yes upload it…
hey rohan could you make a flashable zip for me??
ya upload it….
trying to compile on linux, got as far as the recompile and cant get any further it would be very apreciated if you could help. link to download framework-res.apk is https://www.dropbox.com/s/stpnx1pvusphon3/framework-res.apk
Phone is evo 3d running evervolv 2.2.0 p2. I know i probily put way too much information here but ive been trying for a few hours to get it working.
Sorry mate currently don’t have access to my pc. Will upload the same as soon as i do.
it is very appreciated im glad your so willing to help.
I too got compile time errors with your framework-res.apk.
I think your rom probably doesn’t either support it. May be its a stock rom with htc sense ui…am i correct?
Please, could you build for my motorola defy to? Many thanks! 🙂
http://www.4shared.com/android/n9CTWJGL/framework-res.html
This seems to be a stock rom to me. Cuz the apk file is not compiling again.
Thank you very much for the answer!
Hmm, this rom is a Cyanogenmod 9 … anyway, could you indicate to me a link to another rom that a could use?
Bye
This one should work perfectly. Soft keys come pre installed.
its also cm9
http://forum.xda-developers.com/showthread.php?t=1531222
i am getting errors ant the Recompilation step. please help me
which rom are u on?
You wrote “apktool b framework”, it should be “apktool b framework-res”, that’s why they all get an error.
greets
mate others are smart enough to recognize a “file not found” error. That is not the problem they are having. They have uploaded their apks and i too got compile time errors on them and i used the right command.
I bet you didn’t recognize that error. 😉
thanks mate glad it helped, will be updating it just now.
Rohan, hi!
There was a problem.
It must be like this – http://imglink.ru/show-image.php?id=0345c6f9884f38fbaa607c89b2076db9
And get this way – http://imglink.ru/show-image.php?id=3a565024a94fcb57492162376cfbefdb
How do I fix it? Did everything according to instructions.
‘Now open dimens.xml in the same directory and find navigation_bar_height.’ – In this line, I set a different value. No result.
In dimens.xml decrease the value of navigation_bar_height just a little bit (by two or three).
You could also try the app lcd density changer if you don’t want to compile again and again but still method 1(above method) is recommended.
If still doesn’t work then let me know.
I’ve tried to change the lcd density in build.prop. After that I couldn’t update the application in Play Market. And instead of 53 apps set to 20 apps. Others do not support the resolution of screen.
And the problem about which I wrote above, remains.
I’ll try to continue to change the values. The results will tell.
Thank you for your help.
P.S. If this is important, my phone is Huawei Honor (u8860).
A variation of this parameter “navigation_bar_width”>42.0dip” will not be able to solve the problem?
If the default value is 42 then values around 38-41 should work.
Unfortunately, the problem still exists. Probably there is some bug in the standard program for making calls. But I could not find it.
I have installed another application, the values prescribed in files that you recommend, everything works fine 🙂
http://imglink.ru/show-image.php?id=0ac369c5d157357138722b1fe30d40b2
Anyway, thank you very much for your manual 🙂
P.S. Oh, I also want to ask you about something. Could you make a flashable zip for me? Or maybe you decompile, archive it and send it to me? I would appreciate it
http://depositfiles.com/files/dz3pkabac
Glad it worked for u.
hi rohan im getting the same problem as buck147 could you please make this flashable for me http://www.4shared.com/android/-TD9slpD/framework-res.html
sorry mate currently don’t have access to my pc will upload it as soon as i do…..probably in a day or two.
Hi any chance of making a zip for Xperia play r800i cm9 rc1, sorry for being cheeky but am anoob when it comes to this stuff & would really love the soft keys. Thanks in advance & no probs if its a no 🙂
ya of course, upload your framework-res.apk file
I’m sorry, I don’t even know what that is..noob alert what do I do & I will do it?
Thanks again!
Rohan, I’ve tried it 3 times and all I get is bootloops.
Could you make me a flashable zip?
https://www.dropbox.com/sh/ecwamlwfdtjuyx0/gGp2q_PRKI
this is the framework-res extracted from my GSM Razr running MIUI 2.7.6
Mate it doesn’t work on miui, that is why you are getting bootloops.
Sorry, dude, I gave a broken link to the framework
this one should work https://www.dropbox.com/sh/ecwamlwfdtjuyx0/dvHEM_wiku/framework-res.apk
thanks in advance =)
MIUI doesn’t support on screen ics keys….try any other rom.
Hi Rohan, Here is my Framework-res.apk for Xperia play r800i cm9 fxp129. any chance of getting a flashable zip for software buttons ? https://docs.google.com/open?id=0Bx5JbEpIW520ZnMyaV9JM1ZrRXc
thanks so much !
http://forum.xda-developers.com/attachment.php?attachmentid=1093197&stc=1&d=1338315999
it ain’t a flashable zip….if you don’t know how to replace it with the original please visit here
http://forum.xda-developers.com/showthread.php?t=1657617
Thanks Rohan, i followed all the steps & got bootloop 😦 wiped cash & Dalvic, still bootloop. any ideas ??
Thanks
how do you replace the framework-res.apk from your phone?
I copied the original apk in system/framework & put it on my SD card so to save the original, then moved your apk to system & changed the permissions then moved to system/framework replacing the original. Restarts itself & bootloop. I just realized that I upgraded to cm9 rc2 at some stage. Have I done it right regardless of the upgrade to cm9 rc2?
According to me your method of replacing the apk is causing problems..i recommend using root explorer to directly copy the modified apk to system/framework/ folder. It will ask to replace it, just tap yes. Thats all! You don’t have to do all that permission changing shit.
Oh OK, I just followed the method in the link you sent me on xda dev. Will it matter that I upgraded to cm9 rc2?
Thanks
Thats the only method if nothing works..its also pretty non-noob method. You can try that if nothing works but that is not recommended cuz it requires a knowledge of adb, pulling, pushing, mounting etc.
Thats all techy stuff…blows off our mind. Always take the shortest and easiest method.
OK that’s cool, copy & paste is no problem. Will your modified apk be OK now that I upgraded to cm9 rc2 from cm9 rc1?
Thanks
try it should work.!
I have a Samsung Vibrant with ICS Passion rom and got errors while compiling framework-res
Please help me, here’s my framework-res.apk http://www.mediafire.com/?p5g1z9cc98x59r6
Thank you
I also got compiling errors on your framework-res.apk but i modified the systemui.apk and it worked but had some issues…here they are
1. The lockscreen becomes extra large and the locking mechanism is displayed slightly off screen. (you can still use it but it is very difficult to get the lock to catch)
2. the settings menu looks different, some of the text is not formatted correctly.
3. the keyboard overlaps slightly. (it is still usable but you might hit a soft button occasionally when going for the space bar)
4. this appears to take away the additional items on the reboot menu.
5. more of a downside than an actual bug and its likely implied but this takes up an extra little bit of your screen.
6. It made me re-sign in to google I cant say this will happen to everyone.
7. probably quite a few more bugs I haven’t found yet.
Link—
https://docs.google.com/open?id=0Bx7xmGB4IFU7T0VtWWJ6SHFOU2c
Is there any other way to activate the softkeys without having this kind of issues?
you can try framework-res.apk files of other roms for your phone…if they recompile successfully then you will have no issues.
Recompiling error any ideas for Motorola milestone a853
?
Which rom are you on?
cm-9-20120709-UNOFFICIAL-themeless-umts_sholes
cm9 for milestone is quite new and is in dev phase….i got force closes after replacing the framework file. I think you should probably wait for some time till a proper build is released.
or this update-cm-9-20120307-SNAPSHOT-umts_sholes-signed if u can it working on any of them i dont mind
Thanks for your nice tutorial. I have a cheap chinese 7″ ICS tablet and in the default 120dpi mode everything is way too small for my eyes. I’ve tweaked DPI to higher values but anything above 160 switches ICS to phone mode hence without on-screen buttons. I would very much like to get them back.
I’m a bit confused by your statement “IT DOES NOT WORK ON STOCK OR WITH ANY ROM WITH TW LAUNCHER”. How do you define “stock ROM” precisely please? Does this mean any ROM built straight from ICS sources? (which I strongly suspect is the case of mine). Please reply, thanks in advance.
I got your point mate…will update the post as soon as possible.
I meant that on screen ics keys will only work on non themed roms which means the roms that don’t have pre-installed UI such as “htc sense” or “touchwiz”.Those roms are known as stock roms..there are other roms too that are unthemed and “still are stock”. (ics keys will work with those type)
A rom directly compiled from sources has no theme and hence ics keys will work on them
In your case it is an unthemed rom (all the Chinese tabs have unthemed ones). So ics keys should work on them.
Thanks a bunch for your reply. I have another question: will on-screen buttons work in landscape mode too?
ya if the launcher supports landscape orientation
Please help me i got samsung i9003 galaxy sl my hardware buttons dont work that is why i want the soft keys to work… pls help rohan pls pls
https://www.dropbox.com/s/t83io02pwnbtbez/framework-res.apk
What rom are u on?
hey Rohan i tried decompiling the apk, but java isnt working And i am currently working on my college’s Net Beans project, so dont wanna mess it up. Can you edit it up for me please? Thanks. 🙂
http://www.mediafire.com/?b7ysjdlb7t69t11
Sorry mate busy nowadays….could not compile your apk but here is really a better option,
http://forum.xda-developers.com/showthread.php?t=1527816
thank you.. it is very helpfull
unforetunately i couldn’t recompile it
i tried many versions of apktools but failed
could u please do it for me
my device is SGS i9000 on CM9-stable release
http://www.mediafire.com/?imt603ismcyaden
How To:
1)Donwload file from the link below.
2) Put/Copy it on your phone’s storage ( I prefer external “emmc”)
3) Shut down Phone
4) Boot in Arco’s CWM-Recovery
5) Go to “mounts and storage” and press “mount /system” – without this step it won’t work
6) Go back and press “Install zip from sdcard”, choose location and confirm
7) No need to wipe anything, just flash it and this is it
8) Reboot and use
http://forum.xda-developers.com/attachment.php?attachmentid=1197543&d=1342271786
thank you for your response
but is say aborted.. 😦
Download link works perfect for me.
Getting an error while trying to compile framework-res from a ZTE Crescent. Heres the error:
Exception in thread “main” brut.androlib.AndrolibException: brut.directory.DirectoryException: java.util.zip.ZipException: error in opening zip file
at brut.androlib.Androlib.readMetaFile(Androlib.java:142)
at brut.androlib.Androlib.build(Androlib.java:159)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.directory.DirectoryException: java.util.zip.ZipException: error in opening zip file
at brut.directory.ZipRODirectory.(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.Androlib.readMetaFile(Androlib.java:138)
… 4 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:131)
at java.util.zip.ZipFile.(ZipFile.java:148)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:53)
… 7 more
your rom probably doesn’t support it.
Rohan excellent post and thanks for enabling me for configuring soft keys.My touch key (galaxy S plus) are intermittently working after moving to custom ROM. (EHNDROIXI9001_12.09.26 CM9). Do you know how to fix the hard touch key (option and back not working) I checked the phone touchkey firmware version showing as 0xc1 and part touchkey firmware version showing as 0x0….I tried to update (w/o internet connection )but the screen goes black and nothing happens.Do you have any suggestion on this
Mate i think you should take your phone to the samsung service center…you phone is already ,messed up, don’t want to mess it up more by giving you unkown suggestion as i do not exactly know what the problem is.
hey this is my framework-res file
http://www.mediafire.com/?tm0g5njrnwp9p45
plz do it 4 me i tried for hours but can’t get it.
i am using cm9.1
thanks!!!
which phone are u on?
I can directly link u the modded file if i have modded it already…by knowing your phone
everything is going well till when i want to build the framework-res.
i even tried to build fresh files without editting whit notepad++ but it dosent pack it neither!!!
any hint?!
are u using a custom rom…cuz it doesn’t work on stock and are u sure that your rom supports it?
the phone is xperia x10 mini with custom minicm9 on it (ics)
dose the rom support it?
i dont think the rom supports it… i got error too even after editing systemui.apk
Its better you use the hardware buttons..X10 mini pro already has a small screen size and with on screen keys i would be more smaller.
My advice use it as it is….or maybe install Jellybean if possible..cuz jellybean has easier way to get on screen keys
Dear Rohan Lokesh Sharma,
help me, there is my framework-res, i cant do it, i try a lot time but cant do it.thank you.
http://www.mediafire.com/?1j1zxa9qkyto2ft
ps: my android: Pantech SKY A810s, 4.5″ display, original rom 4.0.4 (not cook rom), unroot.
it doesn’t work on stock or original rom, please use a custom or cooked rom.
Thanks Rohan, Recently I got problem in hardware buttons, this soft keys helped lot. I am to compile and install. It works great. How to get the search soft key ?
Unfortunately you cannot get the search button on the soft keys as long as your rom does not support it.
In simple words if you don’t have a search button on your device, you cannot add the search button to the soft key area as well.
Dear Sir,
Can you please help me ?
my mobile is NXG Xfab Phablet, running Custom ICS 4.0.6 Rom. my framework file is here – https://www.dropbox.com/s/cckzsasvc3p62sv/framework-res.apk
Please help for ICS bar !!!
I am not a developer. my XDA thread here – http://forum.xda-developers.com/showthread.php?p=32932373
Best Regards,
Suresh.
i am getting recompilation errors from your framework file. Either there is a problem with file itself or your rom probably doesn’t support it.
try this method here
http://forum.xda-developers.com/showthread.php?t=2014062
Sorry, i have no knowledge to decombile. actually I am a Mechanical Engineer, not a IT guy. doing some little hacks from roms found in web. I used Gionee Gn868 (Micromax A90) Rom in my Dapeng A9230+ , because of ICS bottom bar. I simply replaced the boot.img in A90 Rom with my mobile boot.img and worked well.
But that framework didn’t work in other ICS roms for my mobile.
Thanks for your help.