Friday, 7 September 2012

Install Android Apps to SD Card (by Default)

By installing apps directly to SD card, we can overcome the problem of internal memory of devices (applicable for those apps which are not dedicated for internal space). But the question is 'how to set storage default to sd card' ? So here is the solution:


Pre-requisites:
1. Android SDK (Click here for SDK setup)
2. Setup of ‘adb’ (Click here for adb)



As we know, Android apps install to the internal storage by default, but we can also set the SD card as the default install location. This trick allows moving almost any app to the SD card(WITHOUT Root Access required).

This requires Android 2.2 or later. To change the default install location, you’ll need to use the ADB (Android Debug Bridge) and Android SDK.


Step 1: Enable USB Debugging-
First, we need to enable USB debugging on Android device. For this:

Open the Settings screen > tap Applications > select Development




Then, tap ‘USB Debugging’ checkbox to enable it. This will enable debug mode, allowing changing the settings on Android device from computer. We may want to disable debug mode after completing this process.





Step 2: Install the Android SDK-
All we need to download and install Android SDK on computer.
After installing the SDK, launch the SDK Manager from Start menu



The ADB utility isn’t installed by default. It’s included in the Android SDK ‘Platform-tools’ folder – select this package and click the Install button to download and install it.



After the process completes, connect Android device to computer with its included USB cable (or just connect the emulator). Windows should locate the device and install the appropriate drivers automatically. If it doesn’t, you may have to download and install the appropriate drivers from your Android device’s manufacturer. Do not mount the device after connecting it – just plug it in.


Step 3: Using ADB-
Open a Windows Explorer window and navigate to the ‘android-sdk\platform-tools folder

Note: platform-tools folder install with the package of SDK.

Path could be as : E:\android-sdk-windows\platform-tools


Launch a Command Prompt window in this folder by pressing and holding the Shift button, right-clicking in the folder, and selecting Open command window here.




Run the adb devices command, it will show the connected Android devices:




Run the following command to set the default install location to your SD card:

adb shell pm setInstallLocation 2


Note: If you want to revert this change later and install apps to the internal storage by default, run this command:

adb shell pm setInstallLocation 0

0 represents device’s internal storage, and is the default. 2 represent the external storage, whether it’s an SD card or USB storage.



Moving Apps to SD Card:
Apps that refused to leave your system storage can be moved to the external storage. For instance, below you’ll see screenshots of the Slacker Radio app. Before the change was made, the ‘Move to USB Storage’ button was grayed out (disabled). After the change was made, the button is enabled and the app can be moved.


To move an app to the SD card, open the Settings screen, tap Applications, and select Manage Applications. Select the app you want to move and tap the Move button on its details screen.

7 comments:

  1. Why must google design android os in such a way that the user must execute core system operations? The user should not have to perform such tedious operations. I still haven't figured it out. This should be done automatically by the device upon inserting an sd card. I am new to android and i just have to say that i am largely disappointed. This makes me feel as if i'm programming my device to perform the operations of the os. This is not very good for a first experience.

    ReplyDelete
  2. I purchased a Samsung Galaxy Ace to start using it right away without any performance issues. I've downloaded some live wallpapers and a few other apps. Apparently they went to the phone's local memory. I want to install them to my sd card instead. I've downloaded and installed everything as above and i can't see my phone in the command window. How do i get my phone to appear? I'm very close to reverting to Nokia...

    ReplyDelete
  3. Nice repost. Better give credit to "How to Geek"!

    ReplyDelete
  4. Thks.... its works
    awesome ....its like sme thg magical

    ReplyDelete
  5. I don't usually post to forums and things, but I HAD to say thank you for this!....THANKS!

    ReplyDelete
  6. Nice but please correct your syntax to:- pm set-install-location

    ReplyDelete