Saturday 2 April 2011

Android Diaries, Part 1: Froyo


Welcome to the first of a totally new series about my experiences with Android. My first Android phone, the (at the time) flagship Motorola Milestone (the Canadian/Global interpretation of the Motorola Droid) is a pretty awesome out-of-the-box phone as is. When I bought my phone, it shipped with Éclair (2.0) and was shortly updated (2.1).
While these updates were nice and all, the overall feet dragging and slow time-to-market for the Google updates are a big turnoff. Hopefully Google steps in to take some form of stance for forcing the allowing-of updates to propagate through the market somehow.
Thankfully, Telus just recently released the long overdue update to the Android mobile operating system, finally my Motorola Milestone has Froyo (2.2.1) – and I’ve been knee deep in the sheer awesome that it brings.
The night-and-day addition that came with Froyo was the ability to move applications to external storage, freeing up precious internal memory (which, the Milestone only has a paltry 256MB of). This means, I can actually install applets to the SD card instead (technically, the application still installed to the internal memory, but it’s a reference to the SD card really). This means I can finally install more than three applets before the dreaded ‘low memory space’ warning popped up (which, you can’t get rid of).

How To
Go to your Settings and find the Applications menu and select Manage Applications. This gives you a list of all your applications. Each application will have a button that says Move to SD Card (and if you’ve already moved the applet to your SD card it will say Move to Phone). Click on the move to SD card and you’re done!

There are a few caveats to this wonderful feature:
  1. The Froyo update only adds API/OS support for this wonderful feature – to actually be able to move applets to your SD card, the developers have to enable support for it in their applications! Not all developers are quick on the ball in this department! Thus, you’ll find that, right off the bat, how many applets you are able to move to your SD card will vary (even big ticket items like Adobe Flash Player 10.2 doesn’t have this flag enabled – and it’s a massive applet, typical of Adobe products really, weighing in at 10MB+! Shame on you Adobe).
  2. In addition to applets where the developers haven’t  enabled support for this functionality, you can’t/shouldn’t move.  In addition You can’t/shouldn’t' move "core system” applets (for obvious reasons) and additionally, don’t move widgets! If you do, widgets won’t work.
  3. You need to do this manually! It’s really tedious the first time, especially so if you have zillions of applets and such. My guess for this is because you don’t necessarily want to ‘move all’ as that may move things like widgets (which you are allowed to, but will cease to function if you do).
There are a whole bunch of tools that you can make use of such as App2Sd. This This applet helps simplify the process of identifying the applets that can be moved to the SD car for you.



Of course, remember that this applet will only help you with applets that are marked as being able allowed to be moved to the SD card. This naturally leads to the next problem – what to do about the applets that cannot be moved to the SD card? For this, you’ll need a bit more trickery.
For that you’ll need the ADB which is a part of the Android SDK. It’s no longer directly apart of the direct download, but you can grab a version from my direct link here (version 1.0.26). Using the ADB, you can manually override the allowed location for any/all applets on your phone.

How to
  1. Open your command prompt
  2. Navigate to the path with the ADB.
  3. Connect to your phone using the command abd.exe shell
  4. To allow moving of all elements to the SD card, type the following command, pm setInstallLocation 2
  5. To restore the defaults, type the following command, pm setInstallLocation 0
To disconnect from your phone, press CTRL+C. For me, I prefer having the default (0 = default/auto, 1 = install to internal, 2 = install to SD card) during day to day use and, when necessary, I’ll switch the mode on a case-by-case basis.

No comments:

Post a Comment