January 17, 2012

Out of internal memory on your Android phone?

This is a problem that is going to be a problem of the past soon, but till then some of us still gotta deal with it. My LG Optimus One has an useless amount of internal memory (170Mb user accessible according to GSMArena). It's a bitch when free space goes below 20Mb, everything stops syncing.. and then there came that day where I couldn't move/remove anymore apps, or had no more caches to clear!

Here's METHOD ONE, which got me a decent amount of space (via Androinica):

1. First you have to enable USB debugging on your Android device from Settings > Applications > Development > USB debugging.
2. Now you need to download and install the Android SDK. Once you’ve downloaded and extracted the package to the folder of your choice, run SDK Setup.exe and click on Available Packages to the left. If you get an error message at this point, enable “Force https://…” in the Settings. From the list of available packages, select “Usb Driver package”, click on the Install Selected button in the bottom right corner and follow the prompts.
3. Connect your phone to your computer with a USB-cable. Your OS will prompt you to install new drivers. Choose to install them from the android-sdk/usb_driver folder. Do not mount your device; you only need to plug-in the cable.
4. Next, run a command prompt and navigate to the Android-SDK\tools folder. In Windows, this is done by selecting Run from the Start Menu (or by pressing Win+R) and typing cmd. You change drives in the command prompt by entering the drive letter followed by a colon (:), and change folders with the CD command. For example, to enter the Android-SDK folder, simply type cd android-sdk.
(Update: I believe this folder is different in the newer SDKs, look for a text file with updated file locations. It's in there somewhere!)
5. In the Android-SDK\tools folder, type in adb devices and you should get a serial number starting with “H” in return. All you have to do next is entering adb shell pm setInstallLocation 2. VoilĂ , you’re done! Android will now install apps to the SD card by default.
6. To switch back to storing software on the internal memory, enter adb shell pm setInstallLocation 0.

Install App 2 SD and it will let you move out some apps to SD that you couldn't earlier, and help you clear out some caches you may have missed.

That last me a couple of months, until I got a few more apps and got stuck again!

Here's METHOD TWO in summary:

1) Root you phone:

Google for your phone model and Android version to find the right tools. I used SuperOneClick and the GingerBreak method. Note: you don't have to install a custom ROM, just root your phone only.

2) Partition your SD card so that it has two partitions:

Connect your phone to your computer, mount the SD card and partition it. I used Magic Partition Manager  on my PC.
- Shrink the existing partition to make space for a 2nd partition
- I created a FAT32 partition in the new space
- Don't forget to make it a primary partition
- Mount it and reboot your phone

3) Install Link2SD

Enable USB Debugging on your phone. In the app's options, select Create Link. You'll have to reboot your phone once or twice (follow instructions given in the app each time you open it after booting)

If all goes well, you will be able to move more apps from within Link2SD, and  if you can't move them you can create a link to the partition on SD.

After all that madness I've recovered a measely 15mb or so of internal memory.. which is big deal! Now lets see how long it last.