Got 2.2 Froyo running on your Android yet? Good. Now let’s move some apps to the SD card and free up precious internal storage!
To install an app to the SD card on Android Froyo, the application itself is supposed to support it first. Furthermore, Froyo installs all new apps on the internal storage by default, except for those that explicitly request external installation. With this tweak, though, you can make the system automatically install almost any app to the SD card instead, even apps that otherwise would be locked to the internal storage.
It’s kind of neat whenever you read that another one of your apps just received an update that “allows SD card storage”, when you’ve had it installed on the SD all along.
- Enable USB debugging on your Android from Settings > Applications > Development > USB debugging.
- On your computer, download and install the Android SDK from http://developer.android.com/sdk/. Extract the downloaded package to the folder of your choice, run SDK Setup.exe and click on Available Packages to the left. If you get an error message, enable “Force https://…” in the Settings. From the list of available packages, select “Usb Driver package”, click on the Install Selected button in the bottom right corner and follow the prompts.
- Use a USB-cable to connect your phone to your computer. Your OS should prompt you to install new drivers. Choose to install them from the android-sdk/usb_driver folder. Don’t mount your device; you only need to plug-in the cable.
- Run a command prompt and navigate to the Android-SDK\tools folder. In Windows, you do this by selecting Run from the Start Menu (or by pressing Win+R) and typing cmd. You change drives in the command prompt by entering the drive letter followed by a colon (:), and change folders with the CD command. For example, to enter the Android-SDK folder, simply type cd android-sdk.
- In the Android-SDK\tools folder, type in adb devices and you should get a serial number starting with “H” in return. Now enter adb shell pm setInstallLocation 2. That’s it! Android will now install apps to the SD card by default, and enable much more apps to be moved to an external storage.
- You may return to storing software on the internal memory by entering adb shell pm setInstallLocation 0.
- Apps that integrate with the Android system and run in the background
- Live wallpapers
- Apps with a bundled widget (if you want to be able to keep using the widget)
These types of apps might have to be manually moved back to the internal storage when you use this tweak. Why? Well, when you mount your phone as a disk drive, the Android system will no longer have access to software installed on the memory card. Thus, all running apps stored on the memory card will be closed. If you have apps on the SD card that are loaded automatically when you start your phone, they will also be launched later than applications located on the internal storage. Because of this, widgets must be installed to the internal storage, or launcher apps won’t be able to recognize their existence. Apps that are installed to the SD card don’t seem to remember defaults, either.
Now when you have activated this tweak, make sure that all apps that can and should be moved to the memory card actually have been moved. Two tools on the Android Market that will help you move apps to the memory card and make the process much easier are App 2 SD and SDMove.
I first shared this tip on [Androinica].