A nice feature that most Android devices offer is a microSD (or SD) slot, and nicer still is the fact that the Android OS allows you to move most apps over to external storage to help free up space on the main device. For those with 16GB+ phones or tablets, this benefit might not be evident, but for those with older devices, it’s a life-saver.
The phone I’m using is HTC’s Legend, which in its default configuration leaves a mere 160MB free to the user for apps and other things. That’s no joke. While I am still pondering upgrading to a newer phone, this one continues to serve me well, but with a storage limitation like that, I have made it a point to move over all apps to a microSD card to avoid space issues. It’s not hard to burn through a 160MB, let me tell you.
If you’re an Android user who has moved apps over to the external storage, you’re likely aware that there are limitations. Some software is considered to be integral and can’t be moved, and then there is other software like Facebook or Google Maps which you might not even use that can’t be moved without rooting the device.
Complicating things even further, when developers publish their apps, they can design them in such a way that they can’t be moved over to an SD card. This is what some would call a dumb move, but the reason it’s done is because phone storage is going to be faster than external storage more often than not. Even still though, having a choice would be nice.
For those games and other tools that don’t inherently allow you to move them to an SD card, there are solutions – and they don’t require rooting. Instead, you’ll need to download the Android development kit, change the default install destination on your phone, move your apps over, and then revert back to stock. If it sounds complicated, it isn’t.
There are a couple of things to bare in mind before diving into this though, and those are important. While using this technique will allow you to move over widgets and OS tools, don’t do it. After a phone boots, the SD card is not immediately mounted, and as such, if your widgets or other important software is there, you’re not going to have access right away. Further, even after the storage is mounted, you might run into an issue where widgets are bugged because of the configuration. So I can’t stress this enough:
Apps Not to be Moved to SD Card
- Widgets – no matter how menial in usefulness or design.
- System tools – many might not operate as intended without being on the phone’s storage.
- Important apps – you don’t want to risk an important app becoming inaccessible when you need it.
I should also mention that as I have no experience up to this point with Android 4.0 (Ice Cream Sandwich), I am not certain that these methods would work. However, Android by design hasn’t changed much with regards to system tools, so chances are they would.
Step 1: Install Android SDK
Installing software to perform a tweak like what we’re going to do isn’t ideal, but overall, this SDK is rather lightweight. You’ll have to go here to grab it, making sure to download the ‘installer_r16-windows.exe’ for the sake of ease. The .zip archive can be chosen instead if you’d prefer to not install anything. To run the SDK, Java is required, so that might also have to be downloaded.
With the SDK installed or extracted to the desktop, and Java installed, you can run the ‘SDK Manager’ to see the application:
Because the tool we need isn’t included with the SDK by default, you need to click the ‘Android SDK Platform-tools’ option and then click ‘Install Packages’. This will take a few minutes to complete, but once done, we can get to tweaking.
Step 2: Setting Up Your Phone
I’m not 100% certain on which options need to be enabled in order for this to work, but there’s no harm in touching all the bases and making sure it will “just work”. ‘USB debugging’ assuredly needs to be enabled, as does ‘Allow mock locations’. For the connection type, I use ‘Disk drive’ which has never caused me an issue.
If you don’t like leaving these settings checked, you are able to revert them back after you copy over what you need to the microSD card. I personally leave them enabled all the time as I’ve yet to find an issue with it.
Step 3: Running the Tweak
With the software above installed and the phone prepped, you’re able to load up a command prompt in Windows and go to the install folder in order to run the tool we need. By default, the install folder will be found under the Program Files (x86) folder. The full path for me was:
C:\Program Files (x86)\Android\android-sdk\platform-tools\
Note: If this folder doesn’t exist, look here instead:
You can navigate here with the ‘cd’ tool. Prefacing the path above with ‘cd ‘ (note the space, no quotes in actual command) will bring you straight there, as you can see in the shot below.
If your phone is not being picked up, you might need to install some drivers. For any Android phone you have, starting here would be a good idea.
Here are the commands that need to be run:
adb devices Probes Android devices connected to the PC. Do this first to assure that the phone is being detected.
adb shell pm getInstallLocation Alternate (ICS+): adb shell pm get-install-location This results in a numerical value to state where the default install location is (0: phone, 2: external).
adb shell pm setInstallLocation 2 Alternate (ICS+): adb shell pm set-install-location 2 This sets the default install location to the external storage.
Note: Thanks to commenter Ajith R Nair for pointing out the alternate commands.
Once the last command is set, you can run the ‘getInstallLocation’ command again to verify that it went into effect, and then you can unplug your phone and get on with moving some apps.
Step 4: Moving Your Apps to an SD Card
Below is an example of a game where the developer disabled the ability to move the game to an SD card, before and after. As you can see, while the option to move to an SD card was faded out without this tweak, it was lit up afterwards. Don’t mind the odd clock changes here, as I did a lot of this in the reverse order.
Figuring out which apps can be moved and which can’t is easily the most tedious part of using Android, but fortunately apps exist to make the chore a lot easier to stomach. One solution I’ve been using is called “App 2 SD“, as it’s both free and intuitive (though not that pretty, in my opinion). Here’s another before and after example:
As you can see, using this tweak suddenly allows me to move over many apps to my SD card, freeing up valuable space. As mentioned earlier, I emplore you to not copy over things like widgets as it will result in some headaches. Some system tools might be fine to be moved over, but I’d be careful there also.
Once you have moved over everything that you need to, I’d highly recommend reverting the tweak by connecting your phone and setting the default location back to 0. This will avoid any potential headaches, some of which I experienced over the past week of using this tweak. All-in-all though, this tweak is an easy way to free up some space on your phone, all for free and without rooting.