Disclaimer: "Safe" does not mean nothing can go wrong, particularly if you don't follow the instructions exactly. I make no guarantees, and you take the risks of rooting upon yourself. See this post for general rooting guidelines and an index of other devices for which we have rooting guides.
If you have the original Android 1.6 Donut firmware on your device, upgrade it to 2.1 or higher. The official update page should bring you from 1.6 (or 2.1) to 2.2.
The Easiest Method (Still Safe) — 2.1 Eclair, 2.2 Froyo
The easiest method is with Gingerbreak. (The 2.3.3 update patched the vulnerability used in Gingerbreak, so if you have Gingerbread then see the next section.)
- On the device, go to
Settings -> Applications and make sure Unknown sources and USB Debugging (under
Development) are checked.
- Download the Gingerbreak app via your PC and put it on the device's SD card, or use the browser on the device.
- Install a file browser like Explorer since it appears the Streak doesn't come with one.
- Navigate to the Gingerbreak .apk, install it, and run it to root your device. You're done!
The Safest Method (Still Easy) — 2.2 Froyo, 2.3 Gingerbread
You can attempt to root via other vulnerabilities but the safest method is probably to replace the stock recovery with StreakMod and flash the SuperUser package through it, bypassing the need for hacks. This might work for 2.1, but I haven't tested it.
(Wondering why this is safe? The Streak replaces the recovery with stock on boot. If you screw it up, it will fix itself!)
Install the Android SDK on Windows. (You can use Linux, but then you have to locate the fastboot package put out by HTC at one point since it's not bundled with the SDK for Linux.)
Download StreakMod and extract
recovery.img from the .zip file to somewhere easily accessible, say
Download the SuperUser package and put it on the device's SD card.
Connect the phone to your PC via USB and put it into Fastboot Mode.
The easiest way is through adb on the command line (adjust the path if needed):
cd C:\Program Files\Android\android-sdk\platform-tools
adb reboot bootloader
Alternatively, turn off the phone and then turn it on while holding the Camera button. When you reach a white screen, release the Camera button. When it loads, tap the
FastBoot text button in the top right corner of the screen.
You should see
FASTBOOT_MODE in the bottom left of the screen when it's ready.
From the command line (adjust the paths if needed):
cd C:\Program Files\Android\android-sdk\tools
fastboot flash recovery C:\recovery.img
The device should show
Download RECOVERY Done! when complete.
Continuing from the command line, enter
fastboot reboot and immediately hold down both volume buttons on the device until you reach Recovery Mode.
If the device boots, go back to step 4! The custom recovery has been overwritten with stock by the init scripts; you need to get into StreakMod before this happens.
Using the volume buttons, scroll down to
2. Software upgrade via Update.pkg on SD Card and select it by clicking the Camera button. This will take you to StreakMod Recovery.
Using the same buttons as in the previous step, select
apply sdcard:update.zip, then
choose zip from sdcard. Select
Superuser.zip from wherever you put it (e.g.,
Yes - Install Superuser.zip and let it install. Then back out (using the Back touch button) and hit
reboot system now. You're done!
If you want to keep StreakMod Recovery, use your new root powers to rename
/system/etc/install-recovery.sh to something else like
install-recovery.bak, then repeat steps 4-6a above. Note that stock recovery can be downloaded and flashed just like StreakMod, so there's not much to worry about if you decide to do this.