[Sony Xperia P, U, Sola, Go] igenid:
This is my first topic on english speaking forum and second on forums in general. Sorry for my english in advance.

Attension! May be you can just use this tool instead:

Pimp my Rom XDA Thread

Pimp my Rom (beta) on Google Play

I made this mod after reading this brunojcm's tutorial.

Link to my russian forum post with this Mod and link to translated to russian and adapted for Xperia P brunojcm's tutorial "Doing simple mods on framework-res.apk when apktool doesn't work properly".

Very long time ago, yet before I bought my Sony Xperia P, I hoped that I can enable on-screen navigation bar when ICS will have come to my device. But, I haven't found complete solution. However, 2 days ago I found this brunojcm's Mod on Xperia S Android Development thread and link to his tutorial at the end of his topic.

With the help of his Tutorial I made mine Mod for Xperia P and a little simplified tutorial (only in russian yet, it's hard to translate it because of it's length and links to auxiliary materials from the russian forum, but I will try to do it later).

Make backup of your device with Sony PC Companion and/or CWM.

Probably you will need Android SDK (or just adb from another sourse)

Your device must be rooted.

If something goes wrong (particularly endless reboot loop) you can force shutdown your phone by holding "VOLLUME UP

+ POWER" for about 10 seconds until triple vibration have occured and then flash your System partition from Stock ROM (without loosing any data, applications or configurations) via the Flashtool (suit's for most Sony's).

Attach your phone to PC

Download this archive and extract it somewhere:

[optional] download your framework-res.apk for backup reason.

adb pull /system/framework/framework-res.apk framework-res.apk.bkp

Push framework-res.apk from archive to your phone via executing these commands (Ubuntu sample by brunojcm, but works in Windows too)

brunojcm@brunojcm-desktop:~/Android/LT26i$ adb shell
shell@android:/ $ su
shell@android:/ # mount -o remount,rw /system
shell@android:/ # mkdir /system/tmp
shell@android:/ # ^D
shell@android:/ $ ^D
brunojcm@brunojcm-desktop:~/Android/LT26i$ adb push framework-res.apk /system/tmp/framework-res.apk
4765 KB/s (15874684 bytes in 3.253s)

brunojcm@brunojcm-desktop:~/Android/LT26i$ adb shell
shell@android:/ $ su
shell@android:/ $ mv /system/tmp/framework-res.apk /system/framework/framework-res.apk
shell@android:/ # ls -l /system/framework/framework-res.apk
-rw-rw-rw- shell shell 15874684 2012-06-28 03:58 framework-res.apk
shell@android:/ # rmdir /system/tmp
shell@android:/ # mount -o remount,ro /system
shell@android:/ # ^D
shell@android:/ $ ^D
brunojcm@brunojcm-desktop:~/Android/LT26i$ adb reboot

Wait for your device reboot.

Enjoy your ICS Navigation Bar) :cool:

Screenshots:

View attachment 1309149

View attachment 1309151

View attachment 1309153

View attachment 1309162

P.S. Don't be surprised much smaller size of my framework-res.apk - it caused by Normal Compession Strength of WinRAR, but I couldn't notice any lags increase. Nevertheless, If you don't like this, you can simply extract resources.arsc from my framework-res.apk, put it in yours framework-res.apk via some archiver (without compression) and push it to your phone.

P.P.S. May be I (or moderators) can move this topic to Xperia Mod's thread with time (when I jump over my 10 posts barrier).