If you wish to save space in your phone’s internal memory, moving apps to the SD card is an excellent way to free some space. You can move apps to the SD card by going to Settings > Applications, selecting the application, then tapping the “Move to SD card” button. You may notice that for some apps, this option is grayed out though. Why is that?
Developers of Android apps need to explicitly make their apps available to move to the SD card using the “android:installLocation” attribute in the <manifest> element of their app. If they don’t, the option to “Move to SD card” is grayed out. Why would many developers not enable this button? Well, Android apps cannot run from the SD card while the card is mounted. So if the app handles something like an alarm to remind you of your dentist appointment, that’s pretty important, and the app would not be able to sound the alarm if you happen to have your device connected to your PC. So the developer may choose to lock the “Move to SD card” capability down so they never get an angry email from somebody claiming the app doesn’t work.
Widget support is another big reason apps may be prevented from running on the SD card. If an app is installed on the SD card, the widgets from that app become unavailable to select once the device is mounted. The device must be restarted for the widgets from the app to show up as an option again.
There are many other reasons why an app may be disallowed from moving to the SD card. If the app handles background syncing, runs as a service, or utilizes an account, the app will not fully function from an SD card while it is mounted. You can read more about how apps run from SD cards on the Android Developers – App Install Location page.
The best types of app for running on the SD card are games. Games typically don’t have to run in the background or handle any important tasks on the device throughout your day. They also typically take up the most space, making them perfect candidates for an SD card install.
Now you know why the “Move to SD card” button is grayed out for many of your Android apps. Still have questions? Comments? Leave one in the comments section below.