Android
From charlesreid1
This page has got some info on how I use my Android phone.
Installing Android SDK
Mac OS X
Download android-sdk_r10-mac_x86.zip from here: http://developer.android.com/sdk/index.html
Extract to wherever you want, I put it with the rest of my 3rd-party packages in ~/pkg. It's a binary, so you can just extract the .zip file and put it anywhere.
You'll want to add the location of a couple of utilities to your $PATH, by adding this to your .profile or whichever dot file you put your $PATH stuff into (or just by running these from your command line, if this is a one-time thing for you):
export PATH="${HOME}/pkg/android-sdk-mac_x86/platform-tools:${PATH}"
export PATH="${HOME}/pkg/android-sdk-mac_x86/tools:${PATH}"
You can test it worked right by running:
$ which adb
/path/to/android-sdk-mac_x86/platform-tools/adb
$ which android
/path/to/android-sdk-mac_x86/tools/androidThis doesn't come with all the things you'll need, so before doing anything else, run the "android" program, which will run the Android SDK Manager.
I recommend installing the following:
- SDK Platform Android (whatever the latest API is)
- Android SDK Platform-tools
- Android SDK Tools
Pick "Available packages" from the side bar and then collapse the various lists there. You'll find the above packages in the list.
If you try and collapse the list and you see a "Failed to fetch URL (blah blah blah)", then pick "Settings" from the side bar and check "Force https://... sources to be fetched using http://...".
Windows
1. Extract the HTC_Droid_Incredible_Root.zip file to a folder with the same name
2. Open the folder and launch HTCSync2.0.25.exe and complete the installation
3. Copy the sdk directory into the root of the C drive, in C:\sdk
4. Open C:\sdk and run SDK Setup.exe
a) you may get an error about https, if you do then close the window with the error message and click "Settings" on the left-hand side, then check the box that says Force https:// sources to be fetched using http://)
b) you may also need to update the version of the Tools. Click on "Available Packages" on the left-hand side of the "Android SDK and AVD Manager" window, and then check the "Android SDK Tools" box, and then click "Install Selected".
5. Go back to the unzipped HTC Droid Incredible Root folder and open command.txt
6. Open a Windows command prompt (Start > Run > "cmd")
7. Change directory to C:\sdk\tools by running
> cd\ > cd sdk > cd tools
Internet Tethering
You can get internet tethering for free using a program called Proxoid (http://code.google.com/p/proxoid). It creates a proxy service, so that all internet requests from the computer are forwarded (via USB) to the phone, and the phone then forwards the request to The Interwebs.
This literally took me 30 seconds to set up. It's very, very simple if you've got the right tools.
1. First, you'll want the Android SDK kit, because you'll use it to send instructions to the phone. See #Installing Android SDK above.
2. Enable USB debugging on your phone: Settings > Application > Development > Enable USB Debugging
3. Open the Proxoid application on your phone. I'll assume you're using port 8080, but change it to any port you want.
4. Run this command to tell your phone to handle tcp traffic from your local computer to the Android phone:
$ adb forward tcp:8080 tcp:8080
Now, when your computer sends requests via port 8080, your phone knows how to handle it correctly.
You will need to run this command every time you want to use Proxoid!
5. Set proxy settings on your local machine so that IT knows to send requests via port 8080. See next section.
Setting Proxy Settings
You can do this a couple of different ways:
Proxy Option 1: Browser Only
Most modern browsers allow you to set proxy settings that are specific to the browser. I use (and recommend) Firefox, but other browsers will work too. First, pick Firefox > Settings > Advanced, and pick the "Network" tab:
Click "Settings", and Firefox will allow you to configure proxy settings. You want to configure the proxy to be localhost and the port to be 8080:
In normal-people speak, this tells your computer to route all internet requests through port 8080 of the local machine. Then, any requests to port 8080 are handled by the phone (well, by Proxoid) becuase of the "adb forward tcp:8080 tcp:8080" command you ran above.
Proxy Option 2: System-Wide
Still working this one out.
Proxy Option 3: SSH Tunnels
You can use a utility called Corkscrew available here: http://www.agroman.net/corkscrew/
Alternatively, you can use the ProxyTunnel utility available here: http://proxytunnel.sourceforge.net/
You can combine this tool with SSH tunnels to redirect traffic from any port through an SSH tunnel.
Following the Proxoid Linux users guide (http://code.google.com/p/proxoid/wiki/installationLinux), you can point SSH to the Corkscrew command by adding the following to ~/.ssh/config:
ProxyCommand /usr/local/bin/corkscrew localhost 8080 %h %p ServerAliveInterval 10
Note that this will work even when SSHing to non-standard ports. If you run "ssh -p 12345 user@host", then it will pass "host" to "%h", and "12345" to "%p".
The ServerAliveInterval is required, because otherwise SSH connections will be closed after around 30 seconds. This sends a "keepalive" packet to the server every 10 seconds.
Rooting
I picked up an Android HTC Evo 4G for about $15, couldn't pass that up, so I wanted to figure out how to root it.
The summary of steps is as follows:
- Unlock bootloader on phone
- Download script to root phone
Yup, so here's the breakdown of those steps:
Unlock Bootloader
You can start by getting an account and instructions at http://www.htcdev.com/bootloader/unlock-instructions. They'll provide some binaries that you'll need too.
Step 1: Turn off Fast Rebooting
Step 1 is to turn off fast rebooting. This was in Settings > Applications > Fast Rebooting (uncheck it).
Step 2: Download Fastboot Binary
Step 2 is to download the fastboot binary. See the HTC developers website for the binary - they provide it.
Step 3: Run Fastboot
Step 3 is to run fastboot on your Mac. You'll tell it to listen for a device and get an identification token, basically a fingerprint for your device:
./fastboot-mac oem get_identifier_token
This will sit and wait for a device until it finds one, then it'll print the ID token to the screen.
Step 4: Reboot into Boot Loader
Step 4 is to reboot into the boot loader menu by turning off the phone, and then turning it on while holding down the "Volume Down" button.
Sequence: (Turn off phone.) (Hold down the Volume Down button.) (Power on the phone.)
You should now see a white android boot loader screen:
If you use the power button to select "Fastboot USB", you should see a dump of information on the screen where you ran the fastboot command.
<<<< Identifier Token Start >>>> ED5D284CF59A7747615E7487CA511419 FDBAE245F8910567A34142D436E00153 ED5D284CF59A7747615E7487CA511419 FDBAE245F8910567A34142D436E00153 ED5D284CF59A7747615E7487CA511419 FDBAE245F8910567A34142D436E00153 ED5D284CF59A7747615E7487CA511419 FDBAE245F8910567A34142D436E00153 ED5D284CF59A7747615E7487CA511419 FDBAE245F8910567A34142D436E00153 <<<<< Identifier Token End >>>>>
you'll copy and paste that whole block into the HTC developers website, and they'll email you a key that you use to unlock the phone and put firmware onto it.
Step 5: Using the Emailed Key
When I checked my email after submitting my device token, I found a .bin file attached to the email. Download it. Now run the following to get an unlock token using this key:
fastboot flash unlocktoken Unlock_code.bin
You'll see a screen like this, confirming you want to unlock the bootloader and void your warranty:
Use the Volume Up to pick yes, and Power to select it. The Android phone will restart, and go through a new account setup. This is a brand-new install, everything is wiped clean.
Oh yeah, did I mention you should back up your stuff?
Ready to Root
Once you do all this, you'll finally be done... and ready to actually root the phone.
Rooting It
Following the instructions here
In case the link to their zip file dies, here is a mirror
Step 1: Settings
Since unlocking the bootloader reset the system, we lost all our settings. Sooo.....
First, disable fast boot again. Settings > Applications > Fast boot (uncheck it).
Second, enable USB debugging again. Settings > Applications > Development > USB debugging (check it).
Now we can restart into the boot loader menu again.
Step 2: Restart into Boot Loader
Power down, then power on while holding the volume down button.
Use volume down to pick bootloader and the power button to pick it.
Get the phone to be in fastboot mode, and waiting for the computer to do something.
Step 3: Flash the Phone
Now you'll use the fastboot binary and the image provided here to flash the phone, with this command:
./fastboot-mac flash recovery ./openrecovery-twrp-2.1.8-jewel.img
The img file comes from the link above.
Intermission: Let the Battery Charge
Make sure and do this process with a full battery, because the battery does not charge while the phone is plugged in. I started the whole process with 10% battery and had to end up stopping here to recharge the battery for a bit.
Still working off of this guide.
Restart Into Fastboot
Now you'll do the usual, reboot into the bootloader menu by holding down volume when you power the Android on. enable fastboot mode by picking it with the volume up/down keys and pressing the power button. It will then wait for the computer to do something.
A note on listing the devices available:
You can list devices from both adb (android debugger) and fastboot. But depending on the mode that that phone is in, the phone will only show up to one or the other program. If you have booted the phone into the bootloader menu and selected fastboot mode, the device will show up to fastboot:
$ ./adb-mac devices List of devices attached $ ./fastboot-mac devices HT17JHL04387 fastboot
whereas if we had rebooted the phone normally, we would see this:
$ ./adb-mac devices List of devices attached HT17JHL04387 device $ ./fastboot-mac devices
Use Fastboot to Flash
This is where I'm getting stuck. The next step is to flash with the recovery image:
fastboot flash recovery recovery-clockwork-touch-5.8.2.7-endeavoru.img
But I keep seeing an error:
$ ./fastboot-mac flash recovery openrecovery-twrp-2.1.8-jewel.img sending 'recovery' (7220 KB)... OKAY writing 'recovery'... FAILED (remote: image update error)
using the stock image provided failed as well:
$ ./fastboot-mac flash recovery stock_EVO4GLTE_recovery.img sending 'recovery' (16383 KB)... OKAY writing 'recovery'... FAILED (remote: image error! (BootMagic check fail))
$ ./fastboot-mac flash boot stock_EVO4GLTE_recovery.img sending 'boot' (16383 KB)... OKAY writing 'boot'... FAILED (remote: image error! (BootMagic check fail))
Then I tried the Clockwork Mod ROM from Cyanogen: http://clockworkmod.com/rommanager
This worked:
$ ./fastboot-mac flash recovery recovery-clockwork-5.0.2.2-supersonic.img sending 'recovery' (3120 KB)... OKAY writing 'recovery'... OKAY
You've successfully flashed the image.
Put Zip File Onto Phone (Again)
Trying again, with a fresh 8 GB micro SD card.
Wiping it clean, mounting it on Mac, and putting the zip file onto the micro SD card.
Then inserting the micro SD card into the phone.
Then booting into the Bootloader menu.
Then picking recovery to boot into the Cyanogen Mod menu.
Then apply zip from SD card.
Then choose zip from sd card.
Then choose CWM-SuperSU-v0.87.zip.
Then confirm install.
Then it will start installing.
File:AndroidRootInstalling.png
Rebooting into Cyanogen Mod Menu
Now you can go back to the Bootloader option by pushing the Power button, and use the Volume Up/Down keys to navigate to the Recovery option. If you pick this option, it will boot from the recovery image you've provided, which boots into the Cyanogen Clockwork Mod menu.
E: Cannot Mount SD Card
Got errors like this one.
This is really, really, really, really, really, really, really stupid.
ROMs are here. I have an HTC Evo. Of course there are a bunch of HTC Evos listed on the ROMs page: http://clockworkmod.com/rommanager
What the hell. I downloaded all of them.
Flashed with 5.8.something:
$ ./fastboot-mac flash recovery recovery-clockwork-5.8.1.5-express.img < waiting for device > sending 'recovery' (4534 KB)... OKAY writing 'recovery'... OKAY
ooookay.
Now use the bootloader menu, and boot into recovery mode. That should bring up the Cyanogen menu.
Format SD Card from Menu
From Cyanogen Mod menu, pick Advanced, and then pick partition SD card. This doesn't actually work, because it can't mount the SD card. So it doesn't do anything.
If you try and format the SD card, same thing. Nothing happens, because the SD card is not mounted.
These guides and forum threads are the biggest pile of worthless horse shit I've ever shoveled in my life.
References
Bunch of junk:
- http://onexroot.com/one-x-root/how-to-root-one-x/
- http://onexroot.com/one-x-root-guide/
- http://htcevohacks.com/htc-evo-4g-lte-root/how-to-root-htc-evo-4g-lte-unlock-bootloadertwrp-recovery/
- http://onexroot.com/one-x-root/root-any-htc-one-x-windowsmaclinuxattinternationalone-click-method/
- http://www.htcdev.com/bootloader/unlock-instructions/page-4/
- http://downloadandroidrom.com/file/HTCEvo4GLTE/rooting/Evo4GLTERoot2.zip
- http://stockroms.net/file/HTCEvo4GLTE/Evo4GLTERoot.zip
This is the most ridiculous bunch of horse shit I've ever shoveled.
- bullshit guide http://onexroot.com/one-x-root/how-to-root-one-x/
- yet another bullshit guide http://htcevohacks.com/htc-evo-4g-lte-root/how-to-root-htc-evo-4g-lte/
- even more bullshit http://htcevohacks.com/htc-evo-4g-lte-root/how-to-root-htc-evo-4g-lte-unlock-bootloadertwrp-recovery/
- idiot proof guide, meaning the person writing it is not supposed to be an idiot, but they are http://gizmodo.com/5574353/idiot-proof-guide-to-rooting-the-evo
- stupid http://forum.xda-developers.com/showthread.php?t=614850
- also stupid http://forum.xda-developers.com/showthread.php?t=841360
- more stupid http://forum.xda-developers.com/showthread.php?t=865204
- obviously hacker trojans http://revolutionary.io/
- Cyanogen http://wiki.cyanogenmod.org/w/Doc:_fastboot_intro
- android developer tools http://developer.android.com/sdk/installing/index.html?pkg=studio
- recovery images http://wiki.cyanogenmod.org/w/All_About_Recovery_Images
This image actually works.
- Clockwork mod ROM images http://clockworkmod.com/rommanager
- sort of following this guide http://theunlockr.com/2012/10/13/how-to-root-the-htc-evo-4g/
More References
- what is clockwork mod http://www.addictivetips.com/mobile/what-is-clockworkmod-recovery-and-how-to-use-it-on-android-complete-guide/
- rooting the htc evo 4 http://theunlockr.com/2012/10/13/how-to-root-the-htc-evo-4g/
- nexus 4 bootloader rooting http://www.droidviews.com/nexus-4-guide-unlock-bootloader-install-clockworkmod-and-root/
- android wildfire http://bernaerts.dyndns.org/android/275-android-wildfire-unlock-bootloader-flash-cyanogenmod
- can't mount errors http://www.droidviews.com/fix-e-cant-mount-sd-card-issue-android-devices/
- installing ubuntu on evo 4 http://htcevohacks.com/htc-evo-hacks/ubuntu-evo-4g/