This guide is out of date. Please view the post Updated: Root the HTC Droid Incredible
These directions are written for the HTC Incredible, but will work for other HTC phones, like the EVO, Hero, and Desire. Check unrEVOked to see if your phone is supported.
If you’re like me, then you don’t like to settle for “as-is” when it comes to technology. I love to tinker, fiddle, improve, alter, and hack. And while I love my HTC incredible – which is in fact an incredible phone, even though it is not without its shortcomings – I can’t help myself when I hear that it is possible to make it better, while at the same time giving myself more control. Which brings me to rooting the phone. What is root, and why would you want it? To put it simply, rooting your phone means having access and control over every aspect of the phone.
So, why would someone root their phone? Besides the fact that it’s geeky, it allows you to do some pretty cool things. Here’s a quick run-down of what some people are doing with their rooted phones:
- Run backup applications that allow full backup of applications, application settings, phone settings, and market links for paid applications. This kind of backup isn’t possible on a non-rooted phone because many of these files are protected system files that are inaccessible.
- Create a full backup of the phone’s system state using Nandoid. This is a very powerful tool that essentially makes a complete copy of all your phone’s data.
- Remove bloat – apps that came with the phone that you really don’t want, like CityID, Teeter, Peep, Facebook.
- Overclock (faster performance) or undervolt (better battery life) the CPU
- Use the LED as a flashlight
- Clear cache from any app on the phone
- Block Ads in apps and web browsers
- Take full-screen screen shots
- Control what apps start on boot
- Allow your laptop to use the phones internet connection wirelessly
- Install new boot animations
…and that’s just the tip of the iceberg.
So, how do you go about rooting your phone? It’s incredibly simple. (Get it?)
If you decide to root your phone I take no responsibility for anything going wrong. By “rooting” your phone you are voiding your (1yr) warranty. It is possible to mess this up and “brick” your phone. (A bricked 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.
These directions are aimed at Windows users, but the principles are the same for Mac and Linux systems.
No, SERIOUSLY. This guide is out of date. Please view the post Updated: Root the HTC Droid Incredible
- Download the Android SDK from Google
- Download the unrEVOked3 recovery reflash tool for windows, linux, or mac.
- Download the modified drivers from unrEVOked.
- 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.
- Unzip Google SDK download. You will see 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.
- Run c:sdkSDK Setup.exe (You will receive error messages, this is okay. Once the application is installed you can close all windows.
- Extract the drivers from the zip and save them somewhere you will remember – I recommend c:sdkusb_driver
- Copy the unrEVOked3 recovery reflash tool to a new directory on your desktop and run it. It will extract a bunch of files, including drivers for the phone.
- On your Incredible, from the Home screen, press the Menu button and select Settings > Applications > Development and check USB Debugging.
Why are you still reading this!?. This guide is out of date. Please view the post Updated: Root the HTC Droid Incredible
You’ll now need to install the drivers for the 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).
Thanks to unrEVOked, rooting the phone is now easier than ever.
- Make sure the phone is fully booted, connected to the computer via USB, and USB debugging is on
- Go to the directory where you extracted the unrEVOked3 files. Run the program reflash.exe
- Watch and wait. When the program says “Done,” you’re done!
You’ll end up in the Clockworkmod recovery menu – it’s black with green 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 your phone’s operating system. Having this kind of access to the OS allows you to do a lot more with your 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.
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 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 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!
Download and install Wireless Tether from the Market.
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.
If you’re having trouble getting Wireless Tether to work using this method, try the following:
- Create a folder on your SD card called “android.tether”
- Download the latest version of Wireless Tether for your specific phone
- Download fw_bcm4329.bin
- Put both files into your “android.tether” folder
- From Astro, run the Wireless Tether APK file you just downloaded and allow it to install (you may have to enable Unknown sources – from the home screen press Menu > Settings > Applications and check Unknown sources.
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 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, phone settings, app settings, and market links. It’s free – but the full version is well worth the $4!
App bloat (stock applications you don’t want) can easily be dealt with.
- Boot into Clockworkmod recovery by powering off the phone and pressing and holding the volume down and power button until the screen lights up.
- At the menu press volume down to select Recovery, then press power.
- At the Clockworkmod main menu select partitions menu, then select mount /system
- On the computer click Start > Run, and type CMD to open a command prompt.
- In the command prompt type cdsdktools
- At the command prompt type adb shell. Now you’re in the phone’s 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.
Now, run the following commands (which are case sensitive) to disable various apps:
The list below is primarily for Android 2.1. View this post for an updated list of apps, including Froyo apps.
mv /system/app/CityID.apk /system/app.disabled/
mv /system/framework/com.cequint.platform.jar /system/app.disabled/
mv /system/framework/com.cequint.platform.odex /system/app.disabled/
pm uninstall com.cequint.cityid
This will remove CityID
mv /system/app/Facebook.apk /system/app.disabled/
This will remove the Facebook app, NOT Facebook for HTC Sense
mv /system/app/*HtcFace* /system/app.disabled/
This will remove Facebook for HTC Sense (2 files)
mv /system/app/HtcFoot* /system/app.disabled/
This will remove Foot Prints and the Foot Prints Widget (2 files)
mv /system/app/HtcTwit* /system/app.disabled/
mv /system/app/*htc.Twit* /system/app.disabled
These will remove Peep, and Peep Widget (4 files)
mv /system/app/Quickoffice.apk /system/app.disabled/
Removes Quick Office
mv /system/app/teeter* /system/app.disabled/
Removes Teeter (2 files)
mv /system/app/*Fri* /system/app.disabled/
Removes Friend Stream (4 files)
When you are done removing apps type exit to leave the the OS and then unmount /system and reboot the phone.
A note on removing these apps! If you already have an account setup in the phone under ‘Settings > Accounts and Sync’ for an app you need to remove the account for the app first. If you plan on using any of the built in sync features for Twitter, Facebook, or Flickr (like contacts or photos) you need to keep Friend Stream. If you have accounts setup and remove the apps you will have a persistent sync symbol in your message bar and Accounts and Sync may be inaccessible.
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.
- Install AdFree from the market and run it
- Click Download & Install Hosts. It will try to write the hosts file to /system and fail (this is okay)
- The phone will reboot (also okay)
- Reboot the phone into recovery mode (from the command prompt run: adb reboot recovery. You don’t have to wait for the phone to boot completely to run this command.)
- In recovery select the partitions menu and mount /system, /data, and /sdcard
- From the command prompts run adb shell. You’re now operating from within the phone.
- run cp /sdcard/hosts /data/data/hosts (This copies the AdFree hosts file from the SD Card to the Data directory)
- run mv /system/etc/hosts /system/etc/hosts.bak (This renames the current hosts file)
- 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.
- 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.
- Put the bootanimation.zip file into your tools directory (c:sdktools). For Android 2.2 on the Incredible the file is called VZW_bootanimation.zip (case sensitive)
- Reboot the phone into recovery (adb reboot recovery)
- Using the clockworkmod recovery menu on the phone mount /data
- 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
Next time the phone boots you’ll get to see your new boot animation!
Here’s a video of the “cool” animation linked to above:
Installing custom ROMs and kernels opens up doors to doing some really geeky stuff with your 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 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 phone. It’s painless.
However, if you’re looking for a more hands on approach, here are the steps:
- 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).
- 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?
- Boot into recovery mode and do a nandroid backup. When you want to return to the stock ROM you’ll use this backup.
- Wipe your phone data (aren’t you glad you backed up?)
- Wipe the cache
- Select “install zip from sdcard”
- Select “choose zip from sdcard”
- Select the zip file you downloaded
- After the zip is loaded, return to the main menu and reboot the phone. The first boot will take a while to load, this is normal.
- Once the 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 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 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.
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:
- Open Titanium Backup
- Press menu and select batch
- Scroll down and select run next to Restore all apps with data
- All apps and data will then be restored
- Open Titanium Backup
- Click Backup/Restore at the top
- Select the program you want to restore
- Select restore
- Reboot into recovery mode (adb reboot recovery)
- Select nandroid from the menu
- Select Restore, or if you only want to restore one specific partition, select Advanced Restore
- Select the backup directory you want to restore from – restore will begin immediately or
- If you selected Advanced Restore you will then be given the option of restoring a specific partition
Once the restore is done, reboot!
These directions were written for Android 2.1. If you’re looking to return to stock on Android 2.2 Froyo, follow option 3 on my old Android 2.2 rooting post.
Ok, so you’re done playing around and maybe you’re tired of having so much freedom. Or, perhaps one of your buttons has gone bad and you need to do a warranty replacement. In any case, you want to go back to stock. By doing this you will lose EVERYTHING. All apps, settings, tweaks, etc. If you’re going back to stock for a return, and plan on rooting your new phone as soon as you have it, be sure to do a full nandroid and full titanium backup BEFORE completing the steps below.
Here’s how it’s done:
- Download the file PB31IMG.zip and put it on the root of your SD card
- Shut down your phone
- Press and hold volume down and the power button to boot into HBoot
- The phone will find, load, and check the file you downloaded. It will then ask you if you would like to update using the file
- Press volume up to update the phone
- Reboot into your stock phone
- Cry a little
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.
Here’s one easy thing you can do to improve your battery life.
- Charge your phone to 100% while booted.
- Shutdown your phone – the light will turn orange and the phone will begin to charge again.
- Once the light turns green, unplug the phone and plug it back in. The light may turn orange again and charge some more.
- Repeat the above step until the light turns green soon after being plugged back in.