Sunday, December 11, 2011

Rooting the LG Optimus M

I convinced my wife to let me root her LG Optimus M (stock Android 2.2.1). After the struggle I had to go through to root my 2.2.2 Ascend, rooting the Optimus was a breeze! Here's what I did:

  • Turn on the following phone settings under "Applications": Unknown sources, USB debugging (under Development).
  • From your computer, search for Gingerbreak and download APK v1.2; here's a Gingerbreak link that currently works.
  • Connect your phone to your computer; on your phone, pull down the top menu, touch the "USB storage" message and turn on USB storage.
  • You should see notification on your computer that your phone's SD card has been mounted. Copy the Gingerbread APK to somewhere on your phone (e.g. the "downloads" directory).
  • On your phone, install the ES File Explorer (or your favorite file explorer/browser) app via Market
  • Open the file explorer, find the Gingerbreak APK and install it (make sure "USB debugging" and "Unknown sources" settings are turned on)
  • Run Gingerbreak, touch the option to root your phone. Your phone should reboot by itself in a few minutes. If it doesn't reboot by itself, Gingerbreak probably didn't work. After the phone reboots, you should see a "Superuser" app in your list of apps.
  • Install Titanium Backup (free version is fine) from Market.
  • In Titanium Backup, touch "Backup/Restore", select an app you want to remove, then select "Un-install". Be very careful about which apps you remove! Removing the wrong one can brick your phone. Here is a list of "safe" apps to remove for LG Optimus M.

Here are the apps I removed. I'd recommend that you stop Boingo WiFi before trying to remove it---I kept getting error messages after removing it and had to reboot the phone before I could continue. Also note that some of these apps provide basic functionality; if you ever think you'll use that functionality or aren't sure, don't remove that app.

  • Boingo wifi (had to reboot after removing)
  • Gameloft free games
  • Loopt
  • Mail@metro
  • Metro backup
  • Metro 411
  • Metro navigator
  • Metropcs easy wifi
  • Mocospace
  • Myextras
  • Pocket express
  • Uno
  • Virtual card
  • Music
  • Sns
  • RSS reader
  • Voice dialer
  • Voice search
  • Weather

Friday, December 9, 2011

Rooting the Huawei Ascend and Upgrading to Android 2.2.2 (Froyo)

Upgrading was the easy part. MetroPCS has a page of instructions on how to upgrade. I took the "Self Upgrade" option. Note that the actual download is from the Huawei Devices site. One thing I was a little confused about is that after you connect your phone to your computer, you must mount the SD card via your phone. I kept trying to run "mount" commands from my computer...

The hard part was obtaining root. First I tried z4root, the app that rooted Android 2.1 for me. No luck. After some searching, I learned about Gingerbreak. I tried v1.2, then v1.3, then v1.1. None of them worked. Argh! And now my battery is draining like crazy! I'm I relegated to a life of recharging my phone every day?!?! Lots of Google searching just turned up more and more references to z4root/gingerbreak. And, I couldn't seem to find anyone with my problem; until...

...I found this post. tokill88 was stuck in a similar situation... had recently upgraded to 2.2.2 and Gingerbreak wouldn't work for him. The thread was dead---3 months old. I registered and added my sad situation. I looked back a few minutes later and there was a reply from "Senior member" ShinySide suggesting SuperOneClick. Seriously? Could that be it? I had a little trouble downloading it and figuring out how it worked, but this video helped a lot. Note that I couldn't run SuperOneClick on XP, but it worked on Vista (yes, it requires Windows).

After rooting via SuperOneClick, I wasn't sure whether I actually had root. I tried Titanium Backup, which is how I removed bloatware from Android 2.1. It couldn't get root. Huh? I found threads talking about this problem and how to fix, but TB didn't even have the same interface. Somewhat randomly, I tried setting TB to "Force System BusyBox". I then restarted via Menu->More->Reload Application. Viola! But, that wasn't all. TB couldn't find the applications I really wanted to remove, like MetroPCS Easy Wifi. This problem was easier to solve (but more expensive). Install Root Explorer via Market and delete everything in /cust/metropcs/us/app. Done!

Was the pain worth it? Yes. I feel like I have a new & improved phone. Everything is faster. Settings->Applications->Manage Applications is useful; it shows me all running applications, not just the ones I started and lets me "force stop" ones I don't want to be running. I still use Advanced Task Killer, but the "Manage Applications" gives me more control and "force stop" really works.

The one thing I don't like about Android 2.2.2 is that I can't control end button behavior. I used to be able to hit the "end call" button to put my phone to sleep. Now I have to hit the power button. Annoying, but I'll live.

P.S. In case you brick your phone, I bet this post would be useful.

P.P.S. This seems to be a good article on task killers. As noted, CPU is more precious than memory; killing and restarting an app uses precious CPU. So, if an app you don't use restarts itself every time you kill it, what you really need to do is root your phone and remove that rogue app.

Mapping Android Version Names to Numbers

I get confused about what Android release names map to what Android release versions. So, I created this post. I got the list of names from this post. I got some of the numbers from Google search; the last two are the obvious guesses. As you might expect, you can also find this information on Wikipedia

  • 1.5: Cupcake
  • 1.6: Donut
  • 2.0/2.1: Eclair
  • 2.2: FroYo
  • 2.3: Gingerbread
  • 3.x: Honeycomb
  • 4.x: Ice Cream Sandwich
  • 5.x: Jelly Bean (?)
  • 6.x: Key Lime Pie (?)