android · Linux · Making things work · Open Source

Downgrading from lolipop to kitkat 4.4.4 on nexus 7 2012 model (nakasi)


This tutorial was prepared on a Nexus 7 2012 (wifi) device, this also might work with other nexus devices as well.
I bought my nexus 7 on late 2012, which used to work fine until it updated to Andriod lolipop. This slowed down the device to almost unusable. resetting to the factory default or cleaning out the cache, did not help with the performance. I decided to downgrade it to kitkat 4.4.4 to get back the devices original perfromance. after the downgrade the device became as responsive as it used to be when I first bought it. Hope the following steps help you achieve the same:

Download Factory image of Nexus 7 2012

To start with you need to find the factory image of “nexus 7 2012 (

wifi)” from https://developers.google.com/android/nexus/images

this image is also known as Nakasi. This page shares all available nexus factory images, including
nakasig” for Nexus 7 (Mobile)
razorg” for Nexus 7 [2013] (Mobile)
“razor” for Nexus 7 [2013] (Wi-Fi)
nakasi” for Nexus 7 (Wi-Fi) <- I used this image for this post
(download the image as appropriate for you from this repository. though I have not tested, this should work for your device as well)
After downloading the image file, which will be named as something like nakasi-ktu84p-facto…tgz (or as per your device name). I used winrar to unzip the file in a safe directory.
The next step is to get the tools you need to get your PC ready for install this image on your nexus device.

Install the adb and fastboot tools

Alternatively

A simple installer could be for the XDA forum which is a “This is All-in-One installer for 3 most needed PC tools for Android. No need to download big SDK for 3 small things“. The installation steps are also provided on this site, which I followed.
Ensure they are accessible globally. On windows do it by adding the adb and fastboot binary path (“System properties” -> Advanced -> environment variables -> System Variables -> path) so that both the commands can be executed from any present working directory on the command prompt. For more information on setting the path use this link.

If you have difficulty getting the adb tools installed properly on your PC, follow this link

How to install adb tools and android device drivers

Preparing the device for installation (Enable debugging mode on your nexus device)

the next step would be to enable developer mode and usd debugging on your android/nexus device

Setting -> about phone -> Build number; Tap on the build number 7 times to enable developer mode, which will enable developer option under setting

Setting -> Developer option -> android debugging; set it to enable and you are ready to work with the adb tools
One the debugging is enabled you can connect the device over usb cable to a USB 2.0 port on your pc. On connection it it will try to install appropriate the driver automatically. in case any of the above steps fails, follow this link for detaild steps How to install adb tools and android device drivers  ,
I installed my adb tools undert C:\adb-tools folder

Test the adb tools

first I shall check if the device is connected properly with appropriate driver
C:\ADB-tools>adb.exe devices
List of devices attached
025**c06b25**1h07        device
 this means your nexus device is connected properly, drivers and the tools are working and you are ready to work with your adb tools to update the image
Caution: Flashing a new system image deletes all user data. Be certain to first backup any personal data such as photos.

Start with the downgrading process

To flash a system image, downgrade of upgrade the system
  • If you have not downloaded the appropriate system image for your device, then now is the time to download and unzip it to a safe directory as mentioned under the section “Download Factory image of Nexus 7 2012”
  • Connect your device to your computer over USB.
  • Get into the system bootloader of the device by starting the device in fastboot mode with one of the following methods:
    • Using the adb tool: With the device powered on, execute:
      adb reboot bootloader
      
    • Using a key combo: Turn the device off, then turn it on and immediately hold down the relevant key combination for your device. For example, to put a Nexus 5 (“hammerhead”) into fastboot mode, press and hold Volume Up + Volume Down + Power as the device begins booting up.
Bootloader screen for andriod, nexus 2012
Bootloader screen
  • If necessary (On the bootloader screen if it says “Lock status – Locked”) , unlock the device’s bootloader by running:
device locked
Locked bootloader screen
Unlock bootloader for android, nexus 7 2012
Unlock bootloader, confirmation screen
  • The target device will show you a confirmation screen. (This erases all data on the target device.)

On your PC this is what you will see

C:\ADB>fastboot oem unlock
...
(bootloader) erasing userdata...
(bootloader) erasing userdata done
(bootloader) erasing cache...
(bootloader) erasing cache done
(bootloader) unlocking...
(bootloader) Bootloader is unlocked now.
OKAY [153.759s]
finished. total time: 153.761s
C:\ADB>
 On the device screen you shall see
device unlocked
Unlocked bootloader screen
  • Open a terminal and navigate to the unzipped system image directory.
  • The flash-all.bat is a script that installs the necessary bootloader, baseband firmware(s), and operating system. This file is located at where you unziped the downloaded factory image earlier “Nexus 7 2012”. Edit the flash-all script, if you have installed adb and fastboot tools in a different location. In this case, it is on C:\adb-tools. add the path in the script from “PATH=%PATH%;”%SYSTEMROOT%\System32” to “PATH=%PATH%;”%SYSTEMROOT%\System32″;C:\adb”

I suggest use notepad++ https://notepad-plus-plus.org/download/v6.8.5.html for editing this file. Editing this file with notepad can some time be problematic.

  • after making the change save the flash-all.bat file and fun it

Once the script finishes, your device reboots. You should now lock the bootloader for security:

  • Start the device in fastboot mode again, as described above.
  • Execute:
    fastboot oem lock
    
 Locking bootloader will wipe the data on some devices. After locking the bootloader, if you want to flash the device again, you must run fastboot oem unlock again, which will wipe the data.

In case, the above steps are not working for you ( you have missed a step, executed it wrong, tried something different)

Review the following Steps:

  1. Ensure you have the adb and fastboot tools installed
  2. download and unzip the factory image of nexus device
  3. connect the device with you PC to a USB 2.0 port ( working with USB 3.0 can some times cause you errors)
  4. Enable developer mode and usb debugging on the device
  5. use adb devices command (from your adb installation folder) to check the device is detected properly. followed by
  6. Modify the flash-all.bat file to reflect your adb installation path (where you have the adb.exe and fastboot.exe file located) if required
  7. Run the flash-all.bat file
  8. The system should be installed/downgraded after the flash-all.bat is executed

If you think you are having trouble with the adb-tools or getting the right driver check the following article working with adb and fastboot and drivers on your android device.

Hope this helps, please feel free to comment in general or comment for help.

Advertisements

9 thoughts on “Downgrading from lolipop to kitkat 4.4.4 on nexus 7 2012 model (nakasi)

  1. Thanks so much for this. I still can’t get my Nexus 7-2012 to work reliably despite several system updates from “Lollipoop”. It works at times quite well but then inexplicably I’d restart with terrible lags, lock up and even self rebooting. Your instructions are complete but there are many ‘holes’ to someone new to this process. But reading in through and cross indexing it against other sites with a similar focus, yours is the best, and I got done. My old 7 lives again, and despite 4+ years old, the battery is holding on.

  2. A HUGE, HUGE increase in speed with this Nexus 7 (2012 wi-fi) after reverting back to KitKat 4.4.4 from Lollipop 5.1. Flashing sailed thru smoothly except for it not unlocking at step 4 to run bootloader. Add a step (4b), in newer Lollipop you also have to disable “run an external program” from the Developer settings (a couple lines down from “usb-debugging”). The instructions at https://developers.google.com/android/nexus/images#instructions are also quick and helpful.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s