How to Upgrade your Nexus 4 to 4.4 and get the Google Experience Launcher

So last night the 4.4 update came out for the Nexus 4, and I really had a debate if I should update manually or wait for the OTA.

Because I'm rooted (I'm assuming that's the reason), I never could apply the OTA update last time, so I manually did it, and wrote a quick how to about it.  After a little internal debate, I figured that the OTA this time would not only be a) late, but b) problematic because I'm rooted (now, it shouldn't be, but for some reason it was for me, your mileage might vary).

So, if you've got a Nexus 4 and want to apply the update manually, here's how you do it without erasing everything!

First off, let's assume you've never done this before... ever.  So, we're going to need to get the drivers and SDK; then we'll need to get the factory image; then we'll flash; and then enjoy the Kit Kattyness.

Also, you'll notice that the Nexus 4 doesn't have the same launcher that the 5 has... but that's okay, I'll show you how to turn it on below.

Prepping your phone & computer

  • Set yourself into developer mode
    • Go into your menu, and scroll down to 'about phone' and then tap the 'build number' box a bunch of times... I think it's 7 times.  It'll then tell you you're a developer
    • Go back a screen and now you'll see an option above 'About Phone' and it'll say 'Developer Options'
    • Click that and look for USB debugging
  • Get the drivers for your device (you may not need to, if you've plugged your phone into your computer and it's worked)
  • Get your computer to be 'whitelisted'
    • Now the drivers are installed and your device has USB debugging, there's an extra layer of security.  Plug your device in and your phone will ask if you want to 'trust' this connected computer.  Say yes
  • Download the Android SDK
    • You'll need this as it'll give you the 'Android Device Bridge' (adb) commands etc... needed to communicate
    • Download from here:
    • Unzip the files somewhere on your computer where you'll know you'll find it (i.e. the Desktop under a folder called ANDROIDSDK)
      • Note, you'll want to look for the tools in a folder under adt-bundle-windows-x86_64/sdk/platform-tools
Prep the update files
  • Download the factory image
    • You'll want this one:
      • It'll be a .tgz file... use something like 7zip to unzip that to get a .tar file, use 7zip to unzip that to get a bunch of files
    • Once unzipped you'll see a bunch of files... some .img, some .zip, and one's a .bat
      • If you DON'T want to erase everything, you'll want to edit the flash-all.bat file, open it with notepad or some text editor
      • look for the line in the flash-all.bat that says "fastboot -w update image..." and remove the "-w" (i.e the 'wiping')
      • save and exit
  • Put the files all together
    • to make it easier... might as well take all the files you extracted from the new factory image and move it over to that ANDROIDSDK/adt-bundle-windows-x86_65/sd/platform-tools folder you made earlier
Get command crazy
  • Open up the command prompt
    • Navigate to the ANDROIDSDK... folder that has all the adb tools in Windows Explorer and in a 'blank area' hit SHIFT+RIGHTCLICK to bring up an option to 'open command prompt here'
    • so... now you've got command prompt open, your device is plugged in let's start some magic
  • ensure your device is 'adb' ready
    • type adb devices
    • if it's 'ready' you'll see a list of devices with weird names... something like:
      • List of devices attached
      • 004c52ab8bcdd43e        device
  • reboot into the bootloader (that's where we can make the changes)
    • type adb reboot bootloader
    • your device will turn off then turn on again with a green android 
  • flash all the things
    • type flash-all.bat
      • (you'll remember it runs through a series of commands, one of which we removed the wiping part, the -w)
      • just for consistency sake, here's what it does/should look like:
        • PATH=%PATH%;"%SYSTEMROOT%\System32"
        • fastboot flash bootloader bootloader-mako-makoz20i.img
        • fastboot reboot-bootloader
        • ping -n 5 >nul
        • fastboot flash radio radio-mako-m9615a-cefwmazm-2.0.1700.84.img
        • fastboot reboot-bootloader
        • ping -n 5 >nul
        • fastboot update
        • echo Press any key to exit...
        • pause >nul
        • exit
      • your phone will go through a series of updates and whatnot... but when it finally boots up, you'll be on 4.4!
So you're on 4.4 now... what now?

You'll notice that you have your standard launcher.  And after seeing the Google Experience Launcher on the Nexus 5, I really like the transparent top and bottom navigations.  So here's what you do:

Download the Google Home.apk file and it'll run just fine.  Don't like it, to remove it go into Settings / "Home" and you'll see your options for the old Home and the new Home (and any other launchers you may have installed.

You could also play around with the new ART compiler (versus Dalvik), but that's a story for another day.

Enjoy and don't forget to check out the Easter Egg.