After having my Droid for about a year, I was hit with the message "phone storage space is getting low". I subsequently ignored this thinking that it may have been an error. I was unaware of the amount of apps that I had installed and how much space it was taking up on my internal memory.
Within a few days my text messages were not being delivered because I did not have enough space. As you might imagine, this went from a minor problem to a major complication. I knew I had to move apps to the SD card to free up internal memory.
The good news is that it forced me to put my thinking cap on and I found multiple solutions that I wish to share with everyone today. Hopefully this will save you a couple of headaches when trying to rid your phone of this issue!
- The first step is to check how much memory you have available. I have read on forums that this message can pop up in error so this is a good way to determine whether you need to fix the problem. Go to Settings -> SD Card & Phone Storage, and you will see the screen below. Your internal phone storage is listed at the bottom. As you can see I have a bit cleared out from when I performed the upcoming steps. If you are in the range of 20MB to 40MB, it's time to start thinking about clearing up space.
- The easiest way to free internal memory on your Droid is to delete any apps that you don't use or need. You may not want to resort to this, but it's a good way to keep your phone a little bit cleaner. If you really don't want to delete anything, then it's time to move apps to your SD card. If you only want to move a few, you can do this manually. Go to Settings -> Applications -> Manage Applications. Once there, click on the 'All' tab to reveal all of your applications. They should be sorted alphabetically by default, but if you want to sort by size (which is more useful for freeing up space!) press the info button (next to the home button) as shown below:
- With the new Froyo operating system update, you are now allowed to move certain programs to the SD card. Click on the app that you want to move and either select to uninstall or move to SD card. You will find that the 'Move to SD Card' may be grayed out on some applications - don't despair, they can be moved, more on that later....
- If you have multiple programs to move, there is a great app called App 2 SD Free. When you open the program it will build your application list and organize them to let you know which can be moved to the SD card. It will also prompt you to delete cached data from all apps - this is another trick to clear up some space, although when you begin to run apps again this space will be filled back up so you still will want to move your apps to the SD card.
- Now for the meat of this tutorial - how to unlock the ability to move all apps to the SD card. And most importantly, you can do this without root access to your phone.
First, download and install the Android SDK. If you don't have a technical background, this stands for Software Development Kit, and it is used for users who like to tinker with and write apps for Android. Don't worry, you don't need to have a degree to figure this out, though :)
When the installer is finished running it will prompt you for which packages to install. You can leave the default components and select 'Install'.
You may also need to install Java SE Development Kit (JDK) in order to run the Android SDK - the link for that download can be found here - Download JDK.
If the Android SDK installer still does not find Java SE Development Kit after you have installed it, there is a simple bug that has an easy fix - press the back button on the installation, and then click the next button. You should be able to move forward now.
- Once the Android SDK is setup, it's time to connect your phone to your computer via USB. Do not turn on USB storage, instead navigate to Settings -> Applications -> Development and check 'USB Debugging'. You may have to confirm that you want to do this - go ahead and click the OK button.
- Next, you will need to download USB drivers to your phone. If you have the T-Mobile G1, T-Mobile myTouch G3, Verizon Droid, Nexus One or Nexus S you can download the Google USB driver. If you do not own one of these smartphones, you will need to download your OEM USB driver.
- Once your drivers are successfully installed, open Command Prompt - you can do this by clicking the Windows Start Menu and search for 'cmd' in the search box. It should be the only program to come up, so you can press enter to run command prompt.
Type cd "C:\Program Files\Android\android-sdk\platform-tools" and hit enter to change directories. Double check this is where your copy of Android SDK was installed. If you have a 64-bit computer, but the software is 32-bit, you will need to replace Program Files with Program Files (x86) - Thanks Daagor!
Type adb shell, hit enter and you will see a dollar sign ($) prompt appear.
Type pm setInstallLocation 2 and hit enter. You will get this same message echoed back, and another dollar sign prompt will appear. This is what switches your install location to your SD card - you can now exit from the command prompt.
- Return to Settings -> Applications -> Development and uncheck USB debugging before you disconnect. Reboot your phone and you are ready to rock!
- When your phone restarts, open up App 2 SD Free and you will find that several more apps can now be moved to the SD card!!
IMPORTANT NOTE: Keep apps that require services running in the background on your internal memory. For me, this includes all Google apps that sync with my account, apps where I use a homepage widget, and other important apps.
Every other app can be moved to the SD card to recover your internal storage space.