If you are using a phone or a tablet running on Android OS and are a geek wanting to try out various applications in Market, then you are bound to see an error message pop up on your device “Insufficient Storage Available” and the application installation fails. Or, suddenly your GMail would stop sync’ing mails.
This is one of the very common problems with Android OS as all applications, by default, get installed on your phone memory that isn’t too large. [As a matter of fact, Windows Phones do not have any such issue]. So whichever Android phone/tablet you take up, you will end up with the same problem – and yes, with one quick solution.
With a broadband speed of 20MBPS or more, my bet would be a fix that would take you not more than 15 minutes, around 200 MB of your disk space on your laptop/desktop on which you have Administrator privilege. So here’s it!
Step 1: Download and Install Java Development Kit from Oracle’s website. I downloaded JDK 7u2 for Windows x64 (approximately 87 MB)
Step 2: Download and Install Android SDK from Google’s website. I preferred the recommended Windows Installer
Step 3: Run Command Prompt with Administrator Privileges on Windows 7 or Windows 8 OS. [Start Menu –> type in cmd –> Right click the Command Prompt –> Run as Administrator. The UAC will prompt you with a dialog which you should click as ‘Yes’]
Step 4: If you have installed the latest version of Android SDK (SDK Manager Revision 16 or later), then type in following commands on cmd
cd C:\Program Files (x86)\Android\android-sdk\platform-tools
You may want to verify & replace the folder on which you have installed the SDK. If you are using an older version of Android SDK, you may want to give a try at following path C:\Program Files (x86)\Android\android-sdk\tools
Step 5: On your Android phone/tablet, go to Settings –> Applications –> Development and enable USB Debugging. Once done, connect the phone/tablet to your laptop/desktop via USB cable.
Step 6: Execute following commands (highlighted in blue only) in sequence
adb shell pm getInstallLocation
You would get an output as: 0[auto]
In Android, Install Location has 3 values
0[auto] – Let the system decide the best location
1[internal] – Install the application on internal device storage. This means any internal storage provided with your device
2[external] – Install the application on external media. This means any SD, microSD cards attached to your device.
Step 7: So let’s change the default location to 2[external]
adb shell pm setInstallLocation 2
This will change the default installation location to SD card of all the applications that you install henceforth. What about those that are already installed on device storage? I am sure you were unable to move all of them to SD card earlier. You can give it a try now! Alternatively, you can download an application Apps2SD and manually move them to SD card.
To check if the settings changed or not, you can execute Step 6 again and check the results
Step 8: Disable USB debugging on your phone/tablet. Close the Command Prompt and enjoy!
Step 9: Drop in a comment, if this helped you. If there was something else you would like to say, drop in a comment.
Update - 1
To root your device, you can follow the instructions provided at: http://jailbreakandroid.org. Please be aware that applying any patch to root the device is risky and hence the author of this website (that is me) takes no responsibility of any loss of data, OS, device operation whatsoever. So please read the terms on the link above & the implications before applying it.
Update - 2
http://howtojailbreakandroid.com/ also provides information on rooting device
Update - 3 : For Samsung Devices
Apart from the steps mentioned above,
Dial *#9900# which will open the SysDump utility. Select Delete dumpstate/logcat which will free up the internal storage from all those logs