By default, Android apps are installed to the internal storage of the phone. Problems may increase when the internal storage is out of space. The phone may become slow and you'll need to free up some space by deleting unused apps and files. A solution to this problem is to move all the apps to the SD card and set SD card as the default storage medium for new apps. Don't be afraid as this doesn't require rooting the Android phone.
Set SD Card as Default Location to Install Android Apps
To change the default install location, you can use ADB (Android Debug Bridge) which comes as part of the Android SDK. You must have Android 2.2 or later to follow the below tutorial.
First things first. You'll need to enable USB debugging on your device. To do this, go to Settings -> Applications -> Development and enable USB debugging. This option is already enabled in some devices.
Don't forget to disable the USB debugging mode when the process is completed.
Once this is done, launch the SDK Manager from your Start menu.
By default, the ADB utility is not installed but it is included in the package. Select the "Android SDK Platform-tools" package and click the "Install 1 package" button to install it.
Connect your Android device to the computer using the USB cable. Windows should install the drivers for this device automatically. If you face any problem in this step, then you'll need to download and install appropriate drivers from your device's manufacturer website. Do not enable USB storage mode at this stage.
Start command prompt on your computer. To do this, click on Start, type "cmd" and press Enter. In this terminal window, navigate to the folder containing the file "adb". This is usually present in this this location - C:\Program Files\Android\android-sdk\platform-tools. Use the command cd "path to the sdk platform" (where path to the sdk platform means an actual location of that folder).
Enter "adb devices" command at the terminal and press enter. With this command, you should be able to see list of connected devices.
Run the below command to set the default install location to your SD card:
adb shell pm setInstallLocation 2
If in future you change your mind and want to install apps on internal storage by default, then run this command:
adb shell pm setInstallLocation 0
Explanation: 0 represents your device’s internal storage, and is the default medium to install apps. 2 represents the external storage (SD card or USB storage).
Move Apps to SD Card
Go to Settings > Applications > Manage Applications and select an app. For example, let's say "Beautiful widgets". You may have noticed that some applications won't move to SD card as the option is grayed out (refer below screenshot).
Such apps can now be moved to external storage, without any problem. After following the above tutorial, now you can move all apps to SD card. Of course you'll need to tap on Move to USB Storage for each app to move it to SD card.
However, remember that not all applications will work smoothly by this trick. For some applications, you should let them run on the internal memory only. For example, widgets, animated wallpapers, launchers and anything that you want to use while your SD card is mounted on your computer should be left on the internal storage otherwise these applications may not run properly.
[Details on Guide can also be found here: HTG]