Less than a week after the Barnes & Noble NOOK Tablet started shipping, hackers have discovered a way to root the tablet and install the official Google Android Market.
There are still a few hoops to jump through, since Barnes & Noble doesn’t make it easy to “enable USB debugging” so that you can push commands to the tablet from a computer. But xda-developers forum member Indirect has put together a Windows utility that lets you root the tablet and install the Android Market with just a few clicks.
Update: This tutorial assumes you’re running NOOK Tablet OS 1.4.0. Version 1.4.1 removes the ability to sideload apps.
If you’re running NOOK Tablet OS 1.4.1, you can roll back to version 1.4 by performing a factory reset and then you can block over-the-air updates in order to keep root access as well as the ability to sideload apps. Just follow our step-by-step guide (the bit about performing a factory reset is near the bottom).
Update 2: It’s now possible to update from OS 1.4.0 to 1.4.1 while rooting the tablet.
Here’s how to get started. In order to enable USB debugging you need first try to download and install an Android apk from the internet. Not all apk file swill work, but you can find one to try from Indirect’s forum post. Xda-developers forum members Loglud and lionclaw have links to other files that may work.
Here’s what should happen: When you click the links to download those apk files in the NOOK Tablet web browser, you should see a notification alert in the bottom left corner of your screen letting you know the file has been downloaded. Then follow these steps:
- Click the notification and choose the entry for the apk file you just downloaded.
- From the following menu, select “Development,” and you’ll find two options to enable USB debugging.
- Check them both.
- Make sure you do not click “unknown sources” before going to the Development menu, because if you do you have to jump through a few hoops to get back to the Development Menu.
If you have already enabled unknown sources, all is not lost. You can perform a factory reset on your device and repeat the steps to bring up the Development menu. Or you can install an Android app called Any Cut which lets you create a home screen shortcut to the Development menu (or other apps or settings).
Scroll down to the “caveats” section of this article for more details on installing and using Any Cut.
Things get much simpler from here on out. Bear in mind that you need your tablet to stay in developer mode. If you unplug it and plug it back in again, you’ll need to uncheck and recheck the USB debugging options.
1. If you’re running Windows, just download the NookAndZergy.zip file and usbdriver.zip from Indirect’s xda-developers post, and unzip them to a folder on your computer.
If you’ve already installed the Android SDK on your computer, you can skip to step 4.
2. Open the Windows Start Menu and type “cmd” (without quotation marks) into the run box. This will open up a command prompt.
3. Enter the following line and hit return (again, don’t enter the quotation marks): “IF NOT EXIST %USERPROFILE%\.android md %USERPROFILE%\.android”
You can right-click on that text and copy it and then paste it into the DOS box by right-clicking and using the context menu to paste. Command-V won’t work in the command prompt.
What we just did was added an .android directory to your computer. If you already installed the Android SDK you don’t need to do that.
4. OK, now open the folder where you unzipped the usbdrivers file and double-click the runmefirst.bat file.
5. The Device Manager should open and show a NOOK Tablet listing with a broken icon. Right-click, and select “update” driver.’
6. Choose the option that says “let me specify where the driver is” and browse to the directory where you unzipped the usbdrivers.zip contents.
This should install the drivers for your tablet. If you don’t see a broken icon and instead see a working listing for the NOOK Tablet in the device manager, you may have to uninstall the tablet drivers and try again. This can be a pain in the rear to get right.
7. Next navigate to the folder where you unzipped the NookAndZergy.zip file.
8. Double-click the NookAndZergy.bat file.
This should open a command prompt that will walk you through the process of rooting your tablet, installing SuperUser, and optionally installing the Google Android Market and other Google apps.
That’s it. The rest of this article is mostly gravy.
There are a lot of reasons things can go wrong. It’s pretty tricky to get a Windows computer to recognize your NOOK Tablet, even if it does have USB debugging enabled, especially if you’ve already connected the tablet to your computer to transfer files.
That said, here are a few tricks that might help.
1. Search your computer for a file called adb_usb.ini. It should be in your .android folder.
2. Open the .ini file in Notepad or another text editor.
3. If the file is empty, just add the following text, without quotes: “0x2080″.
4. If there’s already text in the file, create a new line and add 0x2080 at the end.
5. Save and close adb_usb.ini.
6. Now search for a file called android_winusb.inf. You may have this in more than one place if you’ve already installed the Android SDK. You’ll want to go ahead and edit as many versions as you have.
7. Open android_winusb.inf in a text editor such as Notepad.
8. Scroll down until you see a section labeled [Google.NTx86] and add the following text as a new entry:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0001&MI_00
;B & N Nook Color
%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0004
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0004&MI_01
9. Now scroll down to the section labeled [Google.NTamd64] and paste the same text into the file.
10. Save and close the file.
This should allow adb to recognize your device when it’s plugged in and USB debugging is enabled. To double-check, you can connect your tablet to your PC with a USB cable, open a command prompt by entering “cmd” in the run box in the Start Menu, navigate to the folder with your adb tools, and type “adb devices” without quotes.
If everything went according to plan, you should see your device listed. If not, you’ll see a blank line.
Indirect’s tools are designed to run on Windows, but there are also step-by-step instructions for rooting your device from the command line in case you want to try it on a Mac or Linux machine. Mac users can also find more details instructions courtesy of t-r-i-c-k.
- You can also install the Android Market after the fact by running the NookAndZergy.bat file and selecting “No” when asked if you want to root and then “Yes” when asked if you want to install gApps.
- Xda-developers member anlog has posted details on installing the Android Market manually. (Note that all you really need to do to get the Android Market working is install the GoogleServicesFramework.apk file and then follow the instructions for moving the Vending.apk to your /system/app directory. The steps for doing that are pretty much the same as the steps for enabling the Android Market on the Amazon Kindle Fire).
- If you try Indirect’s tools but run into problems, iShepard has posted instructions for removing the files from your tablet so you can start over again.
How to unroot
If you want to reverse the process you can download and run a script from Indirect called Nomoarzergys.
This will remove root from your device and optionally remove the gApps including the Android Market if you used Indirect’s tools to install them.
Bear in mind, if you’ve made any other changes to system applications, you will not want to use Nomoarzergys, as it could cause irreparable damage to the tablet. Since the bootloader is still locked, you can’t simply re-flash the tablet with a clean version of the NOOK Tablet software or a custom ROM.
The Android Market will run on the NOOK Tablet, giving you access to thousands of apps that aren’t available from the Barnes & Noble or Amazon app stores. It will also let you automatically update some apps. But right now not every app that’s available from the Android Market shows up when you search for it on the NOOK Tablet.
It’s likely that we still need some sort of a patch which will tell the Market to display hidden apps. The same thing has happened with the HP TouchPad and other devices that have received the Android Market unofficially. There’s already a Market patch for the HP TocuhPad, now someone just needs to figure out how to make one for the NOOK Tablet.
You should also keep in mind that if you need to access your NOOK via adb more than once, you need to re-enable adb support for your tablet every time you unplug it from your computer. This requires access to the Development menu in the Android settings.
Normally the NOOK Tablet doesn’t show that menu, but there’s a super-easy way to create a shortcut to it. Just follow our original instructions for downloading and installing third party apps (which doesn’t necessarily require rooting) to enable apps from unknown sources.
You’ll want to install a third party app launcher such as GO Launcher EX, which you can download from the Amazon Appstore.
Once you’ve done that, download a free app called “Any Cut” from the internet. There are a number of versions available from FileCrop.
Run Any Cut and select the “New Shortcut” option, choose “Activity” from the next screen, and then scroll down until you see “Development.” Tap it and click OK, and it will add a shortcut to your GO Launcher home screen.
Now you can bring up the Development Menu at any time and check or uncheck the boxes that say USB Debugging or Auto Mount. You can also use Any Cut to create a shortcut to “Application Settings” if you want quick access to the box that lets you enable or disable support for third party apps from unknown sources.
There’s still no way around the NOOK Tablet’s locked bootloader, which means it will be a little while before we see CyanogenMod or other custom Android ROMs ported to the new tablet. But the NOOK Tablet hackers have made a lot of progress in the first week that the tablet has been on sale.
Latest NOOK Tablet news and tips:
[feedlist listurl=”http://liliputing.com/tag/nook-tablet/feed” limit=5]