I. Before You Begin
1. This is a generic rooting method that should work on a lot of phones, if you have issues with it simply head to our Android How To’s section, look for your device, and use any of the procedures listed to try to root until one works for you. 2. We are refining this procedure as we go! PLEASE POST YOUR DEVICE, ANDROID VERSION, CARRIER THE PHONE IS LOCKED TO, AND IF IT WORKED OR DIDN’T IN THE COMMENTS BELOW SO WE CAN IMPROVE THIS PROCEDURE! (If it did not work, don’t just say “didn’t work” please post the above information then post what exact line you got an error at etc. Be as specific as possible without writing a novel, thanks!)
If you know how to get it to work on the phones we have listed as NOT working, please share so we can make this a truly universal procedure!
Phones It Does NOT Work On:
- T-Mobile G1 (Error:Runs of of space when putting superuser in /system/app/) – Click Here Instead for How To Root the T-Mobile G1
Phones it is CONFIRMED To Work on:
- T-Mobile G2 (Temp root access only) – Even though it works on the G2, this procedure here is a lot easier.
- T-Mobile MyTouch Slide – Even though it works on the Slide, this procedure here is better.
If you have a NAND locked phone listed below, simply use an Unrevoked Method (click here and find your phone and look for the Unrevoked rooting method in the list) to root you phone instead of this one:
- Sprint EVO 4G (HTC Supersonic)
- Droid Incredible (HTC Incredible)
- HTC Desire GSM
- HTC Desire CDMA (HTC BravoC)
- HTC Aria
- Droid Eris (HTC DesireC)
- HTC Wildfire (HTC Buzz)
- HTC Legend
II. Setup ADB
1. Head to our How To Setup ADB procedure and come back to this procedure once you can see your phone’s serial number after typing “adb devices”.
III. Root Using RageAgainsttheCage
1. Download the appropriate rooting files for your version of Android and save them to your computer.
2. Extract them to the c:\AndroidSDK\tools\ folder so all the files are in the same folder as the adb program (they must NOT be inside a folder inside the tools folder, they must be in the tools folder itself)
3. On the phone, go to Settings > Applications > Development and make sure USB Debugging is Checked ON.
4. Plug your phone in via USB cable and do NOT mount the sdcard/select charge only for the connection mode if your phone has such an option.
5. Open the command prompt on the computer by going to Start then typing cmd and hitting enter.
6. Type the following commands into the command prompt with hitting enter at the end of each line :
adb push Superuser.apk /sdcard/
adb push su /sdcard/
adb push rageagainstthecage-arm5.bin /data/local/tmp/
adb shell chmod 0755 /data/local/tmp/rageagainstthecage-arm5.bin
adb install term.apk (if this says failed, simply go to the Market and download the latest Terminal Emulator for free and install that instead of doing this line. Then just continue)
7. Now, leaving the phone plugged in to the computer, open the Terminal Emulator App on the phone. Then type the following into the terminal program with hitting enter at the end of each line (remember you can hold down the Menu button to bring up the virtual keyboard if necessary):
./rageagainstthecage-arm5.bin (Wait until it shows that it “Forked Childs”. This should take a minute or 2. Once it does, continue).
8. Hit back on your phone to exit the Terminal app. Then reopen it (it will most likely force close). Click force close then open it again. This time it will open the terminal app and you should see a # instead of a $ symbol. If you do, continue. If not, redo step 7.
9. In the terminal with the # symbol, type the following with hitting enter at the end of the line: cat /proc/mounts
8. The above command should display a list in the terminal window. Look in the list for this line:
/dev/block/XXXXXXXXXX /system YYYY ro 0 0 (the XXXXXXXXX part should be different depending on which device you have. The YYYY part will either be; ext2, ext3 or yaffs2 or something similar. )
9. In the terminal window on the phone, type the following with hitting enter at the end of each line (make sure to replace X’s and Y’s with the actual letters/numbers you saw when typing the cat /proc/mounts command above. For example, if you saw “/dev/block/mmcblock3 /system yaffs2 ro 0 0” then the line below would read “mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system”)
mount -o rw,remount -t YYYY /dev/block/XXXXXXXXXX /system
cat /sdcard/Superuser.apk > /system/app/Superuser.apk
cat /sdcard/su > /system/bin/su
chmod 4755 /system/bin/su
mount -o ro,remount -t YYYY /dev/block/XXXXXXXXXX /system
10. Now, on the phone, open the app drawer and you should see Superuser permissions inside if done correctly.