Wednesday, April 17, 2013

When an Unstoppable Program Meets an Unmovable App


While I know that many, many of those who call themselves nerds have unlimited amounts of money and can basically buy whatever they want (please note I’m shaking my head sarcastically as I write this) there are those few who operate with limited means. If you’re anything like me you probably want to save your money for Magic cards, or a new video game rather than a new phone to replace the one that’s great, but has no internal memory left. This is typically the result of media and apps downloaded onto the phone.

My Samsung Dart
Now it should be noted that I got the phone I did (a Samsung Dart) because it was the right price (free) and had GPS capability and a memory expansion slot which I assumed, apparently incorrectly meant that everything I downloaded could be stored on the massive micro SD card rather than the minuscule internal phone memory. As you can imagine I was shocked to discover that the apps I downloaded more often than not would not transfer over.

A quick note to developers, I get that you’re trying to give your customers the best experience possible with your apps by making them unmovable, but when there’s just no internal memory left, they run slower than they would on the SD card and really, that’s the only time we’d even bother thinking about moving our apps, so just let us move them… please?

At any rate, after 5 or 6 (or 56? I lost count) attempts to find a way to move those unmovable apps (Facebook, I’m talking about you here) I finally found one that actually worked and allowed me to move my big apps over to the SD card (take that Facebook app).

What you’ll need
I should go ahead and not that the method I used was specifically for android phones. I know the IPhone is awesome (and if you have one you’re probably not reading this), but I just can’t bring myself to use apple products. So sorry to my mac loving readers, it’s not personal; they’re just not customizable enough for me personally in terms of hardware.

Obviously you’ll need your phone for this, as well as a computer with a free (or easily made available) USB port. The speed of the port’s not terribly important as you’ll be working in a command prompt. You’ll also need a USB data link cable for your phone and to download the program Android SDK. While it’s not necessary you may also wish to pick up an app on your phone called App Manager III (App2SD) as it’s quite helpful in determining what’s safe to move to your SD card and installs directly to the SD card and thus isn’t going to take up any internal storage space.

How to do it
First you’ll want to start by getting your phone ready. Go to your applications, select “Settings,” select “Applications,” and then select “Development.” You’ll see a few options with check boxes beside them. Make sure there is a check by “USB debugging” and “Allow mock locations” and head back to your home screen. Finally just plug the phone into your computer using the data link cable and make sure the drivers install correctly. If your computer asks what you want it to read the phone as (hard drive, camera, etc.) I went with storage (hard drive) and it worked perfectly so you may wish to go that direction.

Next you’ll need to install the program (or extract it if you got the zip file). As we’ll be using program files in the folders containing this program it’s very important that you know exactly where you install this on your computer. If you’re extracting I’d also recommend renaming the folder to something simple as you’re going to be trying to access it via command prompt which means retyping whatever the name is, and let me just tell you “adt-bundle-windows-x86_64-20130219” is just not any fun at all.

The SDK Manager Window
With the program installed, open the program folder and double click the “SDK Manager” application file to open the program. It may take a minute or two to load up the installed programs. Once it’s loaded check to make sure the “Android SDK Platform-tools” are installed (it’s the second option under tools at the very top of the window). If they’re not, just select the check box next to them and click the “Install packages…” button at the bottom right of the window. Installation could take a few minutes. Once you’re done with that you can close the Android SDK Manager.

Now you’ll want to open a command prompt (either type cmd into the search bar in the start menu and hit enter or go to “Start,” “All Programs,” “Accessories,” and click on “Command Prompt”). Using the cd (change directory) command navigate to the program folder by typing cd and the full address of the folder. The folder we want in the program folders is the “sdk\platform-tools” folder. If you’re not sure what the full address is you can find out by selecting the “adb” application file in the “platform-tools” folder, right clicking on it and selecting “properties” from the drop down menu. This will bring up a window that lists the full address you’ll want to navigate to in the command prompt.

Once you’re in the correct directory type in the command “adb devices” telling the program to find your phone. If it doesn’t for some reason, double check to make sure it’s set up for USB debugging, plugged in with a data link cable, and installed properly.

Next type in the command “adb shell pm getInstallLocation” making sure to capitalize as it is right here otherwise it’ll kick back an error. If done correctly, this will return a numerical result indicating the default install location for your phone. Typically this will be “0” (internal storage). What we want to do is change it to “2” (external storage).

To do this you’ll need to type in the command “adb shell pm setInstallLocation 2” again making sure to use the correct capitalization. This will set the default install location to the external storage.

Type in the “adb shell pm getInstallLocation” command once more to confirm that the change took effect. If so it should return a result of 2 which means it’s worked and you can close the command prompt and unplug your phone.

Now just hop onto your phone and using either the native application manager or the app manager III (App2SD

) app move those large troublesome apps over to your SD card.

If you find you’re still having difficulty, you can always try reading the article I found on the process located at: http://techgage.com/article/moving_your_non-movable_android_apps_to_an_sd_card/

Conclusions
While it may not free up a great deal of space, depending on how many apps you have installed, for those of us struggling to make due with 20MB or less internal storage free (yeah, seriously) it’s a life saver and as such has made room for itself (on the SD card of course) in my N3rd C0rn3r.