You may have loved them, or you may have hated them, but with the advent of Android 4.0 Ice Cream Sandwich (ICS) also came the removal of hardware buttons. As a result, it produced a sleek overall phone design and gave buttons such as Back, Menu and Multitasking, a new home on the phone’s screen.

The Galaxy S may have seen a lot of development in the realm of ICS-themed custom ROMs but none of them had on-screen buttons that other phones running Ice Cream Sandwich did, like the Galaxy Nexus. Thanks to paintball23456, member of XDA Developers, now even Galaxy S users can have the whole Ice Cream Sandwich experience. The process is not newbie-friendly, however following the instructions carefully should produce satisfying results.


You’ll need a few things:

  • Samsung Galaxy S  running any Ice Cream Sandwich custom ROM
  • Android SDK
    • Get the executable installer, rather than the ZIP package.
    • When prompted by the SDK installer, install the SDK to your C: directory (e.g., C:android-sdk-windows).
    • Also, remember to add the SDK’s “tools” and “platform-tools” folders to your system path, as instructed in Step 5 of this guide.
    • After installing the SDK starter package, make sure you install the SDK Platform-tools component as instructed in Step 4 of the installation guide.
    • Remember also to install the Android USB drivers for your phone so that your computer and ADB can properly communicate with your phone.
  • Notepad ++ — Download the installer from here.
  • 7-Zip — Download the installer from here.
  • APKTool
    • If you have problems with APKTool 1.4.3, use 1.4.2. You will need the APKTool installer and APKTool itself. Extract both packages into the C:apktool folder and add this folder to the system path.

It is important to note that the Android SDK and the APK Tool need to be added to the system path or none of this will work.

Once you’ve got everything set up, you can now begin. To prevent confusion, we’ve broken down the whole process into separate sections.

Decompiling the APK

  1. Create a folder named “android” in the root of your computer’s primary drive (i.e., C:android). This will be your working folder.  Take note that this is different from the folder where the SDK is installed (android-sdk-windows).
  2. Enable USB Debugging on your phone from Settings > Applications > Development.
  3. Plug in your phone to your computer using a USB cable.
  4. On your computer, open a command prompt and type in the following (followed by the Enter key after each line):
    • cd c:android
    • adb remount
  5. If you installed the SDK and ADB correctly, it will say “remount succeeded”.
  6. Enter this command in the command prompt window:
    • adb pull /system/framework/framework-res.apk
  7. Using Windows Explorer, open the C:android folder and check whether framework-res.apk is in there.  If the file is there, it means that the previous command worked.
  8. Enter the following in the command prompt window:
    • apktool d framework-res.apk
  9. Wait for APKTool to finish decompiling the file.  Once done, the APK will be decompiled.

Modifying framework-res.apk

  1. Open the C:androidframework-resvalues folder.
  2. Inside the said folder, locate bools.xml.  Open this file in Notepad++.  Find “config_showNavigationBar” and set its value to “true”.
  3. Close bools.xml.
  4. Open dimens.xml in Notepad++.
  5. Find “navigation_bar_height” and set its value to “34.0dip”.

Recompiling the APK

  1. Open the C:apktool folder.
  2. Inside that folder you will find aapt.exe.  Replace that file with this one.
  3. At the command prompt, type the following (press Enter after each command line):
    • cd c:android
    • apktool b framework-res
  4. APKTool will start recompiling framework-res.apk.  This shouldn’t take long (about 5 minutes or less).
  5. Open the C:androidframework-resbuild folder.  Inside this folder are three files.  You will not touch AndroidManifest.xml.
  6. Launch 7-Zip.  Open framework-res.apk in 7-Zip.
  7. Drag all the files inside the C:androidframework-resbuild folder into the APK opened in 7-Zip — except AndroidManifest.xml.
  8. Close 7-Zip.

Pushing the APK Back to the Phone

  1. At the command prompt, type the following (press Enter after each command line):
    • cd c:android
    • adb push framework-res.apk /system/framework/
  2. When push is complete, issue this command:
    • adb reboot
  3. Your phone will now reboot.
  4. Once it reboots, you’ll now see the three touch keys located at the bottom of the screen. Everything may look cramped.
  5. To solve this problem, head over to the Android Market and download the LCD Density Modder app.
  6. Change the LCD density from 240 dpi to 228 dpi.
  7. Reboot your phone.

Once your phone reboots, you can now enjoy Ice Cream Sandwich’s on-screen keys on your Samsung Galaxy S GT-I9000.

Carl Parker
We're all multi-talented and multi-faceted here, but, perhaps, Carl is the most multi-faceted in the bunch. Among Carl's many interests, Android holds a special place. He's particularly fond of reviewing Android apps and writing step-by-step guides for fellow Android fans.