Unbricking the Nexus 7

Bricked Nexus 7
Bricked Nexus 7

My Nexus 7 took its second dirt nap yesterday. Note that it’s been software problems both times. Apparently it automatically patched itself into an unbootable state.

The top search results dealing with this issue were useless, and the ones I eventually found involved downloading crap from dubious sources and/or had serious omissions in the instructions (here’s a link to the instructions I used but note that my instructions here actually work), so as a service to Google’s other Mac-using victims customers, here’s how I fixed my problem.

You will need to:

  1. Forget about the stuff on your Nexus 7. It’s gone. (Note that your Apps will reinstall, and if you’ve been automatically backing your device up to your Google account or whatever, everything will come back eventually — it’s actually quite impressive, although it doesn’t make up for the whole self-bricking thing, or how difficult the process you’re about to undertake is.)
  2. If you don’t have Java installed, you’ll probably need to install it. If your copy of Java is out-of-date you may need to patch it.
  3. Download the Android SDK (you’ll need one tool from it called fastboot). Get it here (download the Use an existing IDE link to get the least amount of crap. Expand the resulting archive, rename the folder android-sdk and move it to your home directory.
  4. Download the appropriate factory image from here. (I downloaded “Nakasi for Nexus 7 WiFi”.) Drag the resulting 275MB archive to your desktop, expand it, and rename it Nexus 7 Factory Image.
  5. Now connect your Nexus 7 to your Mac using the USB cable that you charge it with. Hold down the power button until the Google logo disappears then immediately press and hold the volume down switch until you see the Nexus 7’s “FASTBOOT MODE” screen (it’s in tiny nigh-unreadable red text accompanying picture of an Android having open-heart surgery). (At any point you can get back to “the fastboot screen” using this process.)

    Fastboot Mode — helpfully rendered in illegibly small type
    Fastboot Mode — helpfully rendered in illegibly small type
  6. Now (assuming your Android SDK is where you I told you to put it), launch terminal and enter ~/android-sdk/tools/android. This will launch a butt-ugly Java application. Check the box next to Android SDK Platform Tools and click the Install packages… button. When that’s done, quit the app.
  7. Next, in terminal enter cd ~/Desktop/Nex and hit TAB (it should autocomplete the name of the factory image directory).
  8. Now, enter ~/android-sdk/platform-tools/fastboot devices and press enter. It should list attached Android devices, in particular your Nexus 7 (along with some funky number).
  9. Now, press up arrow and then replace devices with erase boot and hit enter. Repeat with cache, recovery, system, and userdata. You may get some funky messages such as “are you sure you don’t want to partition”. Unless you get an actual failure or error message you should successfully have deleted all your precious data.
  10. Now, and this is the step missing from the instructions I eventually followed, you may need to unlock your bootloader. Hit up arrow and replace erase userdata with oem unlock. (Don’t worry, you can undo this later if you want to go back in the walled garden.)
  11. Next, hit up arrow again -w update imag and then hit TAB (to autocomplete the name of the image file you’re going to flash onto the device).
  12. At this point I think my device booted itself, but if not you may need to continue:
  13. Now, hit up arrow again and …fastboot reboot bootloader followed by …fastboot reboot
  14. You may want to return to the fastboot screen and use …/fastboot oem lock to return to the walled garden.

That’s it. I hope this saves someone the problems I had.