Let me start by saying that I didnít come up with any of this. Iíve borrowed everything from the following Android community blog posts or forum threads:
How to: Root Motorola DROID Running Android 2.2 FRG22D | Droid Life: A Droid Community Blog
[HOW-TO] Manually deodex your phone. - Droid X Releases - AllDroid Public Board - [HOW-TO] Manually deodex your phone. - Droid X Releases - AllDroid Public Board - AllDroid.org > Home
This post shows another method to root:
Another Android 2.2 FRG22D Rooting Method for the Motorola DROID | Droid Life: A Droid Community Blog
Ok, so Iím new to the forums, but I realized that there are a lot of people rooting their Droids, applying themes, and then wondering why their clock is still black. I know when I started, I just wanted to root and get my phone to have a custom dock and a black status bar. This guide should be an all-in-one guide to accomplish that and should be helpful if you ever need to deodex with a custom rom too. You will need a computer, and Windows, to complete this whole guide.
If you want to see the end result of all my efforts with my phone, scroll down to the attachments at the bottom of this post.
I was able to root my phone, deodex, and theme all with a Mac and Windows 7 running in VMWare. You only need windows for the deodexing. If you donít have Windows, find a friend that does. For the first step (rooting) I give the commands for both Windows and Mac/Linux. But after that, Iíll just do commands for the terminal commands as though adb is in your path. So if you see ďadb shellĒ and youíre using a Mac or Linux and don't have adb in your path, just type ď./adb shellĒ instead (you will need to first cd to the tools directory).
I have tried to be very detailed. This may be verbose to advanced users or anyone with even a little experience with Unix/Linux. But this guide is for everyman. If you donít need the explanation of commands, just skip it. If you donít know what the commands ďrmĒ, ďmvĒ, ďcpĒ, or ďsuĒ do, please read the explanations so that you understand what you are doing to your phone. This guide is pretty simple, so if you get lost, that might be a good time to make friends with someone who has already rooted their phone successfully. I didnít create any of the files that you will use to root/deodex/theme your device. But I did use them with my Motorola Droid, so I can tell you that they at least worked for me.
Letís get started.
Step Zero: DISCLAIMER
Iím not liable for you breaking your phone. I didnít break my phone. I did this with a Mac, which is harder than using a PC, but maybe easier than using Linux. However, if at any point you arenít sure what a command does or how to accomplish a step, you should reconsider rooting your device. Reasons? After you root your device, you unlock the ability to seriously screw up your phone (with the added bonus that youíve voided your warranty so Verizon wonít care that your phone is now only good as a door stop). If you follow this guide, you should finish with a rooted phone that still works. But if you decide to take things into your own hands later (or during), you might be starting a thread of your own hoping for someone to save your bacon. So bottom line: do this at your own risk, donít type commands unless you know what they do, and read the whole guide before you start, rereading each step before starting it.
With that covered, on to the fun.
Step One: Letís Root!
The benefits to rooting are tons, and itís easy. Iíll repeat what was said on DroidLife: this may look confusing and long, but it takes about 5 minutes once you get the SDK. The longest part is waiting. First, letís get everything youíll need:
You will need the Motorola USB Drivers if you are running Windows. I didnít need them for my Mac, and I imagine itís the same story for Linux. 32-bit or 64-bit -- pick your flavor.
You need the Android SDK. Here. Follow the instructions there. On my Mac, I didnít bother with the path, I just ran from the download folder. Iíll include those instructions too. On Windows, you actually download an SDK manager. Youíll need Java (get that here, if needed). I assume Linux is more like the Mac download. Whatever you're using, just get the SDK installed. This is the most time consuming part of rooting.
NEW! One-script rooting! (Mac/Linux)
UPDATE 9/29/10: I stumbled upon this little gem today: xda-developers - View Single Post - Easier 1-2-3 Droid 2 Root for Windows / Linux / Mac
And I made some tweaks of my own so it works on Droid 1. (Tested on my wife's previously-stock, now-rooted Droid.)
- All you need to do now is download doroot.sh to your Android SDK 'tools' directory. (The Droid2Root files you need to root will be automatically downloaded.)
- cd to your 'tools' directory: "cd ~/Downloads/android-sdk-mac_x86/tools"
- Run "chmod 755 doroot.sh"
- Type "./doroot.sh"
- You can also download doroot.zip, which includes the Droid2Root files you need to root.
- Extract the zip and move the files in the created directory into your Android SDK 'tools' directory.
- cd to your 'tools' directory: "cd ~/Downloads/android-sdk-mac_x86/tools"
- Run "chmod 755 doroot.sh"
- Type "./doroot.sh"
Sorry Windows users, this is a bash script -- Linux and Mac only. (Maybe you could run it in cygwin?)
Because I've made the files available on Dropbox (if you download just the script, not the complete zip), I'm going to make a shameless plug. If you don't have Dropbox, I recommend you get it. Using this link will give me "bonus space" if you install the client, so if you don't already have it, get it here: http://www.dropbox.com/referrals/NTE2MDM4ODQ5 . Hopefully this doesn't create too much traffic (that's why I've included an attachment with everything you need)--if anyone is willing to host the files for download by the script, that'd be awesome.
Once you get the message "Congratulations, you should now be rooted." you can wait for the reboot and start move on to step 2.
You will need Droid2Root.rar. You will also need WinRar or UnRarX.
Before you do the actual rooting, here are the commands youíll enter, with some explanation. These are the Mac commands. (More advanced users, just skip this because you probably already know them better than I do.)
adb devices #This starts the connection daemon and lists devices. This should list a device as a long number. If it doesn't something is wrong. (You likely forgot to enable debugging on your device.)
adb push ~/Downloads/droid2root/rageagainstthecage-arm5.bin /data/local/tmp #This pushes the Rage binary that will allow you to gain root shell access before you have installed su.
adb shell #Connects to your device with a shell.
cd /data/local/tmp #Changes the working directory to where you put the Rage binary.
chmod 0755 rageagainstthecage-arm5.bin #Changes the binary to be executable.
./rageagainstthecage-arm5.bin #Executes the binary. Wait until you are returned to your computer terminal or command prompt. If you donít wait (yes, itís painful to wait, but better safe than sorry), then you didnít follow directions very well and should probably stop messing with your phone. It takes a while, but it will finally finish and return to ďhostname:tools username$Ē or ďC:\android-sdk-windows\tools>Ē. Just have the TV on and time will go faster.
adb devices #Checks to make sure your device is still being seen and reestablishes a connection.
adb shell #Opens the shell again. But now instead of a $ you should see a #. Thatís root access.
mount -o remount,rw /dev/block/mtdblock4 /system #Remounts your /system directory with read/write access. Iíve removed the file system type argument because itís unnecessary for remounting. (Nerd note: actually, the argument specifying the device to mount is ignored--Ē/dev/block/mtdblock4Ē--but still required. The system only changes the mount flags for the mount point /system. Remount does not actually unmount and remount.)
exit #Go back to your computerís terminal .
adb push ~/Downloads/droid2root/Superuser.apk /system/app #Pushes the Superuser app to your phone.
adb push ~/Downloads/droid2root/su /system/bin #Pushes the su binary executable to your phone.
adb push ~/Downloads/droid2root/busybox /system/bin #Pushes busybox to your phone. Not needed to root, but very handy. Recommended.
adb shell #Reopen shell on phone.
chmod 4755 /system/bin/su #Change su permissions to be executable.
chmod 4755 /system/bin/busybox #Change busybox permissions to be executable.
mv /system/recovery-from-boot.p /system/recovery-from-boot.p.disabled #I think this keeps your phone from rejecting the rooting process.
mount -o remount,ro /dev/block/mtdblock4 /system #Remounts /system with read-only permissions.
rm /data/local/tmp/rageagainstthecage-arm5.bin #Removes the Rage binary from your phone.
exit #Exits the phone shell.
Now that you know what youíre about to do, you can do the actual rooting.
- Extract Droid2Root.rar to C:\droid2root or ~/Downloads/Droid2Root/
- Enable usb debugging on your device.
- Connect your phone to the computer via USB cable.
- Open up a terminal window (the command prompt for Windows).
- cd to your Android SDK tools directory (there should be a file called adb or adb.exe):
For most the command would look like this "cd C:\android-sdk-windows\tools" or "cd ~/Downloads/android-sdk-mac_x86/tools/"
- Now enter the following commands:
Mac (Iím assuming you didnít want to bother changing your path):Code:adb devices adb push c:\droid2root\rageagainstthecage-arm5.bin /data/local/tmp adb shell cd /data/local/tmp chmod 0755 rageagainstthecage-arm5.bin ./rageagainstthecage-arm5.bin adb devices adb shell mount -o remount,rw /dev/block/mtdblock4 /system exit adb push c:\droid2root\Superuser.apk /system/app adb push c:\droid2root\su /system/bin adb push c:\droid2root\busybox /system/bin adb shell chmod 4755 /system/bin/su chmod 4755 /system/bin/busybox mv /system/recovery-from-boot.p /system/recovery-from-boot.p.disabled mount -o remount,ro /dev/block/mtdblock4 /system rm /data/local/tmp/rageagainstthecage-arm5.bin exit
Code:./adb devices ./adb push ~/Downloads/droid2root/rageagainstthecage-arm5.bin /data/local/tmp ./adb shell cd /data/local/tmp chmod 0755 rageagainstthecage-arm5.bin ./rageagainstthecage-arm5.bin ./adb devices ./adb shell mount -o remount,rw /dev/block/mtdblock4 /system exit ./adb push ~/Downloads/droid2root/Superuser.apk /system/app ./adb push ~/Downloads/droid2root/su /system/bin ./adb push ~/Downloads/droid2root/busybox /system/bin ./adb shell chmod 4755 /system/bin/su chmod 4755 /system/bin/busybox mv /system/recovery-from-boot.p /system/recovery-from-boot.p.disabled mount -o remount,ro /dev/block/mtdblock4 /system rm /data/local/tmp/rageagainstthecage-arm5.bin exit
- Done! Reboot your phone for good measure. You are now rooted.
It will probably take more time to read this post than your actual rooting. It has definitely taken more time to write than it did to root. For those of you who just want to root, you can be done. Download some great apps from the App Market. Hereís some that Iíve tried and recommend:
Rom Manager -- Should be your first stop after you reboot. This will allow you to install custom roms and theme, but most importantly, will allow you to back up and restore your phone. Install this, then use it to flash ClockworkMod Recovery to your phone before you continue this guide.
SetCPU for Root Users -- Allows you to set your phoneís CPU minimum and maximum depending on conditions such as temperature and battery charge. Helps maximize battery life.
Barnacle Wifi Tether -- Share your 3G connection through Wifi. Who doesnít want to do that?
drocap2 for root users -- takes screen shots. Another similar app is ShootMe, but drocap2 has a smaller install size, so I chose it.
Step Two: Deodex those System Files.
If you want to theme your Droid without installing a custom rom, youíre going to need to deodex your system files. What does deodexing do? Well, from what Iíve learned, your stock applications come as packed .apk files that also come with .odex files. These .odex files contain a checksum of the .apk files. So you canít change the .apk files without having some problems. But most importantly, deodexing lets you replace your system.jar file and change your text colors (like your clock from black to white). Thatís right. Youíre about to spend an hour just so you can change some text color. Some have said that it also makes your phone snappier. I have no proof of that.
You need to be rooted. This step is more risky than the last. So you may want to kiss your device before you start, just in case. But donít worry. Install Rom Manager and ClockworkMod Recovery then back up your current rom before you start. If you do something bad, you can pull out your battery, pop it back in, start your phone holding the X key, and start into recovery. From there, you can use nandroid to restore your backup. (Always, always, always back up before you do anything like this, including installing custom roms and themes.)
So, again, letís get the files youíll need. If youíre doing this on a Mac or Linux machine, reboot to Windows or fire up that virtual machine. Youíll need the Android SDK for Windows as well as the Motorola drivers (32-bit or 64-bit).
You also need xUltimate (now at 2.2.2).
Hereís the process:
- Unzip xUltimate v2.2, and launch "Main.exe"
- If everything goes well you xUltimate should recognize the phone and make a connection. You now should see a list of options. (If youíre running a virtual machine, make sure that youíve ďconnectedĒ your phone device to the virtual machine.)
- Choose option 5. (The guide I followed was for Droid X and required doing options 1-4 individually. But I didnít have a ďguava.odexĒ in my origi_frame folder, so in the end I just ran option 5 and it ran fine.)
- While you are here, run option 6. This will take your origi_app and origi_frame folders and zip them up for backup. If you ever need to restore your original system files and have deleted your backup rom, you just need to change the following directions to copy the original files back.
- Exit xUltimate, and put the phone in USB mass storage.
- Go back into the xUltimate folder and copy "done_frame" and "done_app" and move them to the root of the sdcard.
- Unmount the sdcard from your computer (eject) if you are running on Mac/Linux.
- Turn off USB mass storage mode.
- Open a command prompt (to your android-sdk/tools directory--you can do this on your native machine now, no more Windows required, just remember to disconnect the device from the virtual machine), and do the following:
Code:adb shell su stop mount -o remount,rw /dev/block/mtdblock4 /system cp /sdcard/done_app/* /system/app/ cp /sdcard/done_frame/* /system/framework/ rm /system/app/*.odex rm /system/framework/*.odex mount -o remount,ro /dev/block/mtdblock4 /system reboot
Explanation of commands:
adb shell #Connects to the phone.
su #Grants superuser access. Youíll need to allow it on your phone the first time you do this from the adb shell. Tip: choose to Remember (and Allow). If you do this, you can shell into your phone if you have trouble booting and issue a reboot command without pulling out the battery--you just need debugging enabled (always a good idea when messing with your phone).
stop #Stops your phone. From what I can tell, it basically stops your phone from doing anything phone-ish and frees up the system for you to work in with the shell. The command ďstartĒ starts your phone back up again, but the beginning of the boot, but I prefer ďrebootĒ. Whenever you want to replace anything in your system directory, use ďstopĒ first.
mount -o rw,remount /dev/block/mtdblock4 /system #Remounts /system with read/write permissions.
cp /sdcard/done_app/* /system/app/ #Copies the deodexed applications to your phone. Note: donít be tempted to use mv--it doesnít work because the files are on different physical devices (sdcard vs. flash memory).
cp /sdcard/done_frame/* /system/framework/ #Copies the deodexed framework files to your phone.
rm /system/app/*.odex #Removes the .odex checksums for apps.
rm /system/framework/*.odex #Removes the .odex checksums for the framework files.
mount -o ro,remount /dev/block/mtdblock4 /system #Remounts /system as read-only.
Your phone should reboot as if you have done nothing. Itís not very satisfying at this point, but keep going and youíll see that you actually did something.
Step Three: Purify
At this point, Iím going to take a moment to teach another very handy trick that you now have access to: deleting stock applications. For me, I was tired of Twitter running in the background whether or not I had actually opened it or even signed in. I was also tired of Verizonís Virtual Voicemail app being on my phone. This is how you go about deleting them:
Most of those commands should seem familiar from step 2. The only new one is rm, and for those familiar with Linux, you already know what weíre doing. For those of you who are new to all of this, rm removes the files (deletes them). Here are the stock apps that I donít mind saying itís ok to delete:Code:adb shell su stop mount -o remount,rw /dev/block/mtdblock4 /system cd /system/app/ rm Facebook.apk rm Twitter.apk rm VVMStub.apk cd / mount -o remount,ro /dev/block/mtdblock4 /system reboot
com.amazon.mp3.apk -- The Amazon MP3 store. If you donít like it on your phone, delete it.
Facebook.apk -- Stock Facebook app. This doesnít mean you canít download it from the store, just that you can actually uninstall it.
Twitter.apk -- Stock Twitter app. Same as Facebook as far as implications.
VVMStub.apk -- Verizonís stub application for virtual voicemail. If you have Google Voice, youíve probably wanted this gone from day 1 (or even if you donít have Google Voice).
I wouldnít recommend deleting any other apps. You can always hide them with LauncherPro anyway. But if you know itís safe, go ahead (it's your phone after all). Just back up before you do, and don't blame me if it breaks.
Speaking of backing up, you should do that now. After deodexing and deleting bloatware, itís a good idea to create a clean stock backup.
Step Four: Your First Theme.
For this step, weíre going to use MotaBoyís HTC Status Bar Theme for Froyo FRG22.
All you need is this file.
- Copy it to your sdcard. You can even send it via Bluetooth (thatís how I did it) or download it directly with your phone.
- Start ROM Manager.
- Select ďReboot into RecoveryĒ
- At the recovery menu, select ďinstall zip from sdcardĒ (5th option down).
- Select ďchoose zip from sdcardĒ (2nd option).
- Browse to the downloaded zip. If you downloaded it in your phoneís browser, itís in download/; if you sent it via Bluetooth, itís in bluetooth/. If you used your USB cable, you should know where you put it.
- Select yes to apply the .zip file.
- After applying the theme, press the delete key on the keyboard (on the Droid) to go back to the root recovery menu.
- Select ďreboot system nowĒ to reboot the device.
- Enjoy your first theme. If you donít like it, you can use ROM Manager to restore the backup that I hope you just made. You can use the advanced restore menu to just restore the /system directory (because thatís all you changed with this theme).
Step Five: Other Ways to Customize
Get LauncherPro. Iím not affiliated with the guy that made this app, but I did buy it from the App Market, and itís worth it. Customizing the dock is a very nice addition to the Android. Thereís a free version, so try it out. If you really like it, buy the unlock code. (Bonus: you don't need root do use this app, so if you're nervous about rooting, or have a friend that's nervous about rooting, you/they can use this app.
I pretty much copied a screen shot I saw on DroidLife for my first customization. You can see the results in the attachments below.
I got my dock icons from the goodies download on this thread.
Now you should have all the tools you need to theme and go crazy. Just remember that themes are devices specific. No matter how many times or ways you try copying that theme for the Droid X to your Droid, itís only going to put you in a reboot cycle that makes you glad you had ClockworkMod Recovery installed. (The link I just gave you is a theme for the Droid X--you can't install it on a Droid--I speak from experience...)
Ok... I hope that was helpful to somebody. Now a few last words.
Please donít skip to theming before you deodex and then ask me why the clock color is still black. And Iím not trying to endorse any app/process/website. Iím just providing all the information I wish I had had when I rooted into a single thread in hopes that someone finds it useful.
If you find any typos, please send me a private message instead of posting a reply to this thread. If you have a good question that you think others might want the answer to, thatís a good reason for a reply, or to help out a fellow forum member, and also to add anything awesome.
Thanks and credit go out to koush (ClockworkMod), Kellex (DroidLife), Webst3r, xeudoxus (xUltimate), MotaBoy (Sense theme), Manup456 (my dock icons), and darkonion & facelessuser (originally creating the root script) for all the info, previous guides, apps, and themes I've used. Plus the developers of the apps I mentioned. Also plus those that helped develop any rooting tools used here.
Happy rooting, deodexing, and theming!
UPDATE 9/16/10: I corrected some missing line breaks. I typed this up in Pages (iWork) and when I copied it into the post form, a bunch of line breaks were missing. I thought I had gotten them all, but there were a few missing still in the Windows rooting commands. I also changed "./adb shell" in steps > 1 to "adb shell" for simplicity.
UPDATE 9/29/10: I started wondering if anyone had successfully used this guide (I've only had people asking for help with problems), so I've added a poll to the top to see how useful this guide is. I'm hoping that most people using the guide have had little to no trouble; thus, they haven't felt the need to post replies on the thread. Just wanted to find out if hours of typing was a good way to spend my time. Oh, and I added a one-command root script for Mac (and presumably Linux).
UPDATE 11/19/10: Made just the doroot.sh script downloadable. Removed reference to "PC Mode" in the script. (It doesn't exist for Droid users.) I haven't been receiving emails to update me that others have posted. Maybe it's the poll? Or gremlins? But either way, I apologize that I haven't posted or updated in a month. Thankfully, issues are few. I hope most have little to no trouble.