Moving Your 'Non-Movable' Android Apps to
an SD Card
Have an Android device that's quickly running
out of space due to limited internal memory? Have a large collection of apps
that refuse to move over to your SD card? If either of these is true, then you
need to know about a simple tweak that can be done to forcibly move over many
apps to your SD card - all without rooting.
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
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
This results in a numerical value to state where the default install location is (0: phone, 2: external).
adb shell pm setInstallLocation 2
This sets the default install location to the external storage.
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.
adb devices
Probes Android devices connected to the PC. Do this first to assure that the phone is being detected.
adb shell pm getInstallLocation
This results in a numerical value to state where the default install location is (0: phone, 2: external).
adb shell pm setInstallLocation 2
This sets the default install location to the external storage.
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.
No comments:
Post a Comment