It’s been almost 6 months since I first published my original HTC Droid Incredible Rooting Guide. This post includes updated steps and resources on rooting your HTC Droid Incredible running Android 2.2 and the Nov over-the-air update. Most of this information here can be used for rooting other phones, including the EVO, Hero, Wildfire, Aria, and Desire, although some details may be slightly different.

The instructions of this post make the assumption that the reader is on a windows computer with an HTC Droid Incredible running Android 2.2 after the Nov over the air update, but will work with 2.1 and 2.2 pre-Nov OTA. Please understand that the directions may vary for other operating systems and android phones.

Disclaimer!

If you decide to root your android phone I take no responsibility for anything going wrong. By “rooting” your android phone you are voiding your (1yr) warranty. It is possible to mess this up and “brick” your android phone. (A bricked android phone is one that is completely dead.) I offer this tutorial as an aid for people who know what they’re doing and have some level of experience with advanced technology.

If you find this guide useful, please consider donating.
Donations help keep this site online.

Quick Links

1. Downloads5. unrevoked Forever9. Titanium Backup13. Restoring from Backups
2. Getting ready6. ROMs and Kernels10. Going AdFree14. Tech Support
3. Installing the drivers7. Nandroid backup11. Removing bloat15. Unroot
4. unrevoked reflash tool8. Wireless Tether12. Boot animation

Downloads

  1. Download the Android SDK from Google (You don’t need this to root. You only need this for manually removing bloat or manipulating files – like boot animations.)
  2. Download the unrevoked3 recovery reflash tool for windows, linux, or mac.
  3. Download the modified drivers from unrevoked.
  4. Remove HTC Sync or PDA Net form your computer. The software and drivers may interfere with the rooting process. Once you’re done you can reinstall them.
  5. Download the unrevoked Forever tool Unrevoked recovery reflash tool now sets the android phone to S-Off for you.
  6. If you have an SLCD screen you’ll need to use an alternate recovery image – you can download it from Doug Piston‘s site. Once your android phone is S-Off you can use this download to flash your recovery image. Unrevoked 3.3 works with SLCD screen incredibles.

Getting ready

  1. Unzip the Google SDK download zip file, or run the executable if you downloaded that. The zip file will created a folder called android-sdk-windows. Move that folder to the root of the c: drive, and rename it to sdk so that its location is c:sdk. If you run the executable it will install the SDK to c:program filesandroidandroid-sdk. For the rest of the guide I’ll use the path c:sdk, but your path may be different.
  2. Run c:sdkSDK Manager.exe (You may receive error messages) The application will launch. Accept the default settings and click the “Install” button. Once the application is installed you can close all windows.
  3. Extract the unrevoked drivers from the zip and save them somewhere you will remember – I recommend c:sdkusb_driver
  4. On your Incredible, from the Home screen, press the Menu button and select Settings > Applications > Development and check USB Debugging.

Installing the drivers

You’ll now need to install the drivers for the android phone, and unrevoked has a great walk through for installing them. Of course, you’ll need to remember where you saved those driver files (possibly c:sdkusb_driver).

unrevoked recovery reflash tool

Thanks to unrevoked, rooting the android phone is now easier than ever.

  1. Make sure the android phone is fully booted, connected to the computer via USB, and USB debugging is on
  2. Run the Unrevoked recovery reflash tool
  3. Watch and wait. When the program says “Done,” you’re done!

You’ll end up in the Clockworkmod recovery menu – it’s black with orange text and will say “Clockworkmod Recovery v*.*.*.*” at the top. You’ll need to return to this menu at various times throughout this tutorial.

The ClockworkMod recovery has great features, plus it allows you to easily access the android operating system. Having this kind of access to the OS allows you to do a lot more with your android phone.

The new recovery mod works differently than the original recovery. You can navigate the options with the volume key or the joystick. Rather than selecting an option, the power button turns off the screen in the main menu, otherwise, it is used to move back to a previous menu. To select an option you need to press the joystick in.

If you find this guide useful, please consider donating.
Donations help keep this site online.

Going S-Off

By running the Unrevoked recovery reflash tool your android phone will be automatically set to S-Off – no need to run unrevoked Forever.

unrevoked’s Forever tool allows you to set your android phone to S-Off. This means that you’ll be able to apply any patch you like without needing the file to be official. Once your android phone is S-Off, if for some reason you ever lost root, it is incredible easy to get it back.

Follow the instructions on the unrevoked Forever page.

ROMs and Kernels

Installing custom ROMs and kernels opens up doors to doing some really geeky stuff with your android phone. Thanks to Clockworkmod’s ROM Manager it’s a pretty painless process. However, it is not without risks! By making major changes to the operating system of the android phone you run a higher risk of bricking the device.

I have not yet installed a custom ROM, but I am running a different kernel. I’m happy with how the stock ROM works right now and having root is enough for me. But, the second there’s a stable Froyo ROM with working GPS, camera and SenseUI you better believe I’ll be one of the first to toss it on. (Yes, I like SenseUI. The Exchange integration is well done, and required for work. Plus, I like the Facebook contact integration.)

Installing a custom ROM

I recommend using ROM Manager. You can find it in the Android Market (buy the full version, the extra features are worth the $4). You can use it to make nandroid backups, download the most recent version of Clockworkmod and the ROM of your choice, and then flash the ROM – all from your android phone. It’s painless.

However, if you’re looking for a more hands on approach, here are the steps:

  1. Download the ROM you want to use to your SD card. IncredibleROMS and Sodpit are popular sites for finding ROMs that might not be listed in ROM Manager. Jager and CyanogenMod are pretty popular ROMs. Virtuous is my favorite 2.2 ROM, and it’s very stable. (After downloading you may want to rename the ROM file to something easy to remember).
  2. Run a full Titanium backup. Titanium backups are stored on the SD card, so after you install the new ROM you’re going to be able to do a restore and have all your programs, settings, and data. Cool, huh?
  3. Boot into recovery mode and do a nandroid backup. When you want to return to the stock ROM you’ll use this backup.
  4. Wipe your android phone data (aren’t you glad you backed up?)
  5. Wipe the cache
  6. Select “install zip from sdcard”
  7. Select “choose zip from sdcard”
  8. Select the zip file you downloaded
  9. After the zip is loaded, return to the main menu and reboot the android phone. The first boot will take a while to load, this is normal.
  10. Once the android phone is up and running install Titanium backup from the market and do a full restore.

Installing a new kernel

The most popular kernel for the Incredible is hydra. You can download hydra from hydrakernel. There you’ll see the options of undervolted or overclocked kernels. The undervolted kernel saves on battery juice, the overclock makes the android phone run faster. The overclock kernel also undervolts the CPU when it is idle, which is pretty cool.

The directions for installing a new kernel are identical to the directions for installing a ROM, except you do not need to wipe the data or cache. But, do go ahead and make a new nandroid backup – you’ll want to be able to restore, should the new kernel not work. Download the kernel to the SD card, boot into recovery, install the file to the android phone, reboot.

The hydra kernel will automatically adjust the CPU speed depending on demand. Plus you get wireless N. Nifty!

If you ever want to go back to the stock kernel you can do a nandroid restore, or download the stock kernel from hydrakernel and follow the directions again – without the wipe, of course.

One last note on ROMS and Kernels

Many ROMs come with kernels specific to those ROMs. Using a different kernel may cause the system to be unstable, so either do some reading to make sure your combination works or do some testing. Having good backups is important!

FYI: CyanogenMod has its own kernel, but many users run CM6 with hydra and report that it’s stable.

Nandroid backup

From the Clockworkmod recovery screen select nandroid, then select backup. The backup will take a few minutes. The backup is stored on the SD card in the directory clockworkmod/backup/

With this backup you can safely start editing your android phone files. If you do something wrong, and want to restore it, you’ve got yourself covered. Never rename nandroid backups! Renaming the directory is known to cause problems. Keep a text file in the clockworkmod directory with notes about specific backups.

One of the best features of a nandroid backup is the ability to restore just one part of the android phone. Under Nandroid > Advanced Restore select the date of the backup you want to restore from, then select which partition you want to restore. For example, if you accidentally deleted the wrong files from /system you can restore just the system portion of the most recent nandroid backup. Brilliant!

Wireless Tether

Download and install Wireless Tether

Once installed, open it. Hit close on the donation screen. Now, hit the wireless symbol to start the tether. You’ll get a message from the program Superuser asking if you want to give the program superuser access. Check remember and click allow.

Titanium Backup

Get Titanium Backup from the market and install it like you would any other app. When you first run it you’ll get an error message about not having root, and needing BusyBox. Clear that message and click the button on the bottom called, “Problems?” then select “Yes, do it.” This will install BusyBox. Titanium Backup requires the android phone to be in USB Debugging mode (which you turned on at the beginning of this process). Allow any Superuser requests.

Run your first backup by pressing the menu button and then selecting Batch. Tap Run next to Backup all user apps + system data. Once that’s complete, schedule a weekly backup. Titanium backup will backup your apps, android system settings, app settings, and market links. It’s free – but the full version is well worth the $4!

Going AdFree

I have a bit of a philosophical dilemma with running AdFree. Many of my favorite apps are free because they use ad revenue to support their development. I like free apps (although I’m not opposed to paying for good apps), but I also dislike Ads. In any case, I wanted to include instructions about how to get AdFree working.

  1. Install AdFree from the market and run it
  2. Click Download & Install Hosts. It will try to write the hosts file to /system and fail (this is okay)
  3. The android phone will reboot (also okay)
  4. Reboot the android phone into recovery mode (from the command prompt run: adb reboot recovery. You don’t have to wait for the android phone to boot completely to run this command.)
  5. In recovery select the partitions menu and mount /system, /data, and /sdcard
  6. From the command prompts run adb shell. You’re now operating from within the android os.
  7. run cp /sdcard/hosts /data/data/hosts (This copies the AdFree hosts file from the SD Card to the Data directory)
  8. run mv /system/etc/hosts /system/etc/hosts.bak (This renames the current hosts file)
  9. run ln -s /data/data/hosts /system/etc/hosts (This creates a symbolic link. This link allows AdFree to edit the hosts file stored in /data while allowing the OS to use the file as if it were stored in /system.

If you find this guide useful, please consider donating.
Donations help keep this site online.

Removing bloat

Most custom ROMs remove all bloat for you, some (like Virtuous) give you a program that allow you to easily turn bloat on and off. You can also use Root Explorer or Titanium Backup to remove bloat. However, if you aren’t going to use a ROM and want to remove bloat by hand, here’s how to do it.

  1. Boot into Clockworkmod recovery by powering off the android phone and pressing and holding the volume down and power button until the screen lights up.
  2. At the menu press volume down to select Recovery, then press power.
  3. At the Clockworkmod main menu select partitions menu, then select mount /system
  4. On the computer click Start > Run, and type CMD to open a command prompt.
  5. In the command prompt type cdsdkplatform-tools
  6. At the command prompt type adb shell. Now you’re in the android OS.

Before we being, let’s review some basic unix commands!

mkdir – make directory – This makes a directory (mkdir /system/newdirectory)
mv – move – This moves something (mv /what.i.want.moved/file.apk /where.it.is.going/file.apk)
cp – copy – This copies a file from one place to another (cp /what.i.want.copied/file.apk /where.it.is.going/file.apk)
ls – list – This lists the contents of the current directory, or the specified directory (ls, ls /system)
cd – change directory – This changes from the current directory to a new directory (cd /system)
rm – remove – This deletes! Permanently! There is not waste can to recover files. (rm /system – DON’T DO THIS)

I don’t like deleting apps. Primarily because replacement files are hard to come by if you end up needing them again. So, I recommend that you create a directory for disabled apps.

mkdir /system/app.disabled

Run the commands listed below (which are case sensitive) to disable various apps. Read carefully – some of the apps listed are probably ones you’ll actually want! Also, you need to remove any accounts you have for the following apps before you remove the app!

mv /system/app/amazonmp3.apk /system/app.disabled/ (2.2)
mv /system/app/amazonmp3.odex /system/app.disabled/ (2.2)
AmazonMP3

mv /system/app/AppSharing.apk /system/app.disabled/ (2.2)
mv /system/app/AppSharing.odex /system/app.disabled/ (2.2)
App Sharing

mv /system/app/htcbookmarkwidget.apk /system/app.disabled/
mv /system/app/htcbookmarkwidget.odex /system/app.disabled/
HTC Bookmark Widget

mv /system/app/Calculator.apk /system/app.disabled/
mv /system/app/Calculator.odex /system/app.disabled/
mv /system/app/HtcCalculatorWidget.apk /system/app.disabled/ (2.2)
mv /system/app/HtcCalculatorWidget.odex /system/app.disabled/ (2.2)
HTC Calculator

mv /system/app/Calendar.apk /system/app.disabled/
mv /system/app/Calendar.odex /system/app.disabled/
mv /system/app/htccalendarwidgets.apk /system/app.disabled/
mv /system/app/htccalendarwidgets.odex /system/app.disabled/
mv /system/app/CalendarProvider.apk /system/app.disabled/ (Needed in 2.2)
mv /system/app/CalendarProvider.odex /system/app.disabled/ (Needed in 2.2)
mv /system/app/GoogleCalendarSyncAdapter.apk /system/app.disabled/ (2.2)
mv /system/app/GoogleCalendarSyncAdapter.odex /system/app.disabled/ (2.2)
HTC Calendar

mv /system/app/HtcCarPanel.apk /system/app.disabled/ (2.2)
mv /system/app/HtcCarPanel.odex /system/app.disabled/ (2.2)
mv /system/app/HtcNaviPanel.apk /system/app.disabled/ (name changed in 2.2)
mv /system/app/HtcNaviPanel.odex /system/app.disabled/ (name changed in 2.2)
HTC Car Panel

mv /system/app/CityID.apk /system/app.disabled/
mv /system/app/CityID.odex /system/app.disabled/
mv /system/framework/com.cequint.platform.jar /system/app.disabled/
mv /system/framework/com.cequint.platform.odex /system/app.disabled/
CityID

mv /system/app/htccontactwidgets.apk /system/app.disabled/
mv /system/app/htccontactwidgets.odex /system/app.disabled/
HTC Contacts Widget

mv /system/app/Flickr.apk /system/app.disabled/
mv /system/app/Flickr.odex /system/app.disabled/
Flickr – this will disable Flickr integration.

mv /system/app/HtcFMRadio.apk /system/app.disabled/
mv /system/app/HtcFMRadio.odex /system/app.disabled/
mv /system/app/com.htc.FMRadioWidget.apk /system/app.disabled/ (2.2)
mv /system/app/com.htc.FMRadioWidget.odex /system/app.disabled/ (2.2)
HTC FM Radio

mv /system/app/HtcFootprints.apk /system/app.disabled/
mv /system/app/HtcFootprints.odex /system/app.disabled/
mv /system/app/HtcFootprintsWidget.apk /system/app.disabled/
mv /system/app/HtcFootprintsWidget.odex /system/app.disabled/
HTC Footprints

mv /system/app/com.htc.FriendStreamWidget.apk /system/app.disabled/
mv /system/app/com.htc.FriendStreamWidget.odex /system/app.disabled/
HTC Friend Stream (If you intend to sync Facebook, Flickr, or Twitter accounts with your phone you will need to keep this, otherwise you will get a persistent sync symbol)

mv /system/app/GenieWidget.apk /system/app.disabled/ (2.2)
mv /system/app/GenieWidget.odex /system/app.disabled/ (2.2)
New 2.2 widget, not sure what it does.

mv /system/app/Mail.apk /system/app.disabled/
mv /system/app/Mail.odex /system/app.disabled/
mv /system/app/htcmailwidgets.apk /system/app.disabled/
mv /system/app/htcmailwidgets.odex /system/app.disabled/
HTC Mail app – this will disable exchange integration

mv /system/app/htcmsgwidgets.apk /system/app.disabled/
mv /system/app/htcmsgwidgets.odex /system/app.disabled/
HTC Message Widget

mv /system/app/HtcMusic.apk /system/app.disabled/
mv /system/app/HtcMusic.odex /system/app.disabled/
mv /system/app/com.htc.MusicWidget.apk /system/app.disabled/
mv /system/app/com.htc.MusicWidget.odex /system/app.disabled/
HTC Music Player

mv /system/app/NewsReader.apk /system/app.disabled/ (2.2)
mv /system/app/NewsReader.odex /system/app.disabled/ (2.2)
mv /system/app/com.htc.NewsReaderWidget.apk /system/app.disabled/ (2.2)
mv /system/app/com.htc.NewsReaderWidget.odex /system/app.disabled/ (2.2)
HTC New Reader & Widget

mv /system/app/PDFViewer.apk /system/app.disabled/
mv /system/app/PDFViewer.odex /system/app.disabled/
PDF Viewer

mv /system/app/HtcPhotoWidget.apk /system/app.disabled/
mv /system/app/HtcPhotoWidget.odex /system/app.disabled/
HTC Photo Widget

mv /system/app/Quickoffice.apk /system/app.disabled/
mv /system/app/Quickoffice.odex /system/app.disabled/
Quick Office

mv /system/app/RSS.apk /system/app.disabled/ (2.2)
mv /system/app/RSS.odex /system/app.disabled/ (2.2)
RSS Reader

mv /system/app/htcsearchwidgets.apk /system/app.disabled/ (already removed in 2.2)
mv /system/app/htcsearchwidgets.odex /system/app.disabled/ (already removed in 2.2)
HTC Search Widget

mv /system/app/Stock.apk /system/app.disabled/
mv /system/app/Stock.odex /system/app.disabled/
mv /system/app/com.htc.StockWidget.apk /system/app.disabled/
mv /system/app/com.htc.StockWidget.odex /system/app.disabled/
Stock app

mv /system/app/HtcSyncwidget.apk /system/app.disabled/ (2.2)
mv /system/app/HtcSyncwidget.odex /system/app.disabled/ (2.2)
Not sure, haven’t used

mv /system/app/HtcTwitter.apk /system/app.disabled/
mv /system/app/HtcTwitter.odex /system/app.disabled/
mv /system/app/com.htc.TwitterWidget.apk /system/app.disabled/
mv /system/app/com.htc.TwitterWidget.odex /system/app.disabled/
HTC Peep

mv /system/app/VoiceDialer.apk /system/app.disabled/
mv /system/app/VoiceDialer.odex /system/app.disabled/
Voice Dialer

mv /system/app/VVM.apk /system/app.disabled/
mv /system/app/VVM.odex /system/app.disabled/
Visual Voice Mail

mv /system/app/VzNav.apk /system/app.disabled/ (2.2)
mv /system/app/VzNav.odex /system/app.disabled/ (2.2)
Verizon Navigation (Costs $$/mo – why use this when Google Nav is free?)

mv /system/app/VZW_Skype.apk /system/app.disabled/ (2.2)
mv /system/app/VZW_Skype.odex /system/app.disabled/ (2.2)
Verizon Skype

mv /system/app/com.htc.WeatherWidget.apk /system/app.disabled/
mv /system/app/com.htc.WeatherWidget.odex /system/app.disabled/
HTC Weather Widget

mv /system/app/WifiRouter.apk /system/app.disabled/ (2.2)
mv /system/app/WifiRouter.odex /system/app.disabled/ (2.2) (This is for the 3G HotSpot)
This is the 3G Mobile HotSpot, which costs $$/mo. If you’re rooted you can use Wireless Tether to do the same thing for free.

mv /system/etc/CDROM.ISO /system/app.disabled/ (2.2)
(This stops the Verizon popup from coming up when you plug your android phone into your PC)

If you find this guide useful, please consider donating.
Donations help keep this site online.

Boot animation

Custom boot animations can range from geeky to cool and are easy to install.

  1. Download the animation you want to use. Rename the file to bootanimation.zip. The only files in the zip file should be part0 and part1 directories and a desc.txt file.
  2. Put the bootanimation.zip file into your tools directory (c:sdkplatform-tools). For Android 2.2 on the Incredible the file is called VZW_bootanimation.zip (case sensitive)
  3. Reboot the phone into recovery (adb reboot recovery)
  4. Using the clockworkmod recovery menu on the phone mount /data
  5. For Android 2.1: use the command adb push bootanimation.zip /data/local (You can also put the file on your sdcard and use the command mv /sdcard/bootanimation.zip /data/local/)
    For Android 2.2: use the command adb push VZW_bootanimation.zip /system/customize/resource or if thee the file is on your SD card mv /sdcard/VZW_bootanimation.zip /system/customize/resource
  6. Reboot

If you want the sound file that goes along with the “cool” boot animation, download it and us the adb push command to push it to the same location as the bootanimation.zip file. (Thanks jtcarnes.)

Next time your android phone boots you’ll get to see your new boot animation!

Restoring from Backups

If you find yourself in a bind and need to do a restore, or if you just flashed your ROM and want to restore your apps from Titanium, you can follow these easy steps:

Titanium Backup

  1. Open Titanium Backup
  2. Press menu and select batch
  3. Scroll down and select run next to Restore all apps with data
  4. All apps and data will then be restored

Or

  1. Open Titanium Backup
  2. Click Backup/Restore at the top
  3. Select the program you want to restore
  4. Select restore

Nandroid

  1. Reboot into recovery mode (adb reboot recovery)
  2. Select nandroid from the menu
  3. Select Restore, or if you only want to restore one specific partition, select Advanced Restore
  4. Select the backup directory you want to restore from – restore will begin immediately or
  5. If you selected Advanced Restore you will then be given the option of restoring a specific partition

Once the restore is done, reboot!

Tech Support

It’s hard for me to answer all the questions that people have, especially if I want to keep my day job. However, there are a lot of answers to common problems and plenty of good folk eager to help at AndroidForums.

If you find this guide useful, please consider donating.
Donations help keep this site online.

Unroot

Jonathan Suh has put together a very simple and easy-to-follow post for unrooting your HTC Droid Incredible.

Tagged with →