How to Force install Android Apps on SD Card without Root

By default, Market Applications install in Internal memory storage instead of big size external SD Card. Many devices in market have a little internal storage space and soon run out of memory so, what we do is Move installed applications to SD card manually using App2SD.

Wouldn’t it be great if there is some way through which we could force installation of applications directly on SD card instead of moving them afterwards. Yes, This article will guide you to do that using Android SDK even on non-rooted phones.

Even If your phone is rooted then you have prepare SD card for App2SD to move apps to external SD card.

What you need to carry out the hack

Before you begin, download the following programs:

    1. Java Development Kit (JDK)
    2. Android Development Kit (SDK)
    3. Device USB drivers (These are device specific and often installed alongwith PC suite if any

And on your mobile, go to Settings > Applications > Development and activate USB debugging.

1. Installing the SDK and Platform-tools

To begin, install the Java JDK, then do the same with the Android SDK. After installing the SDK, Android SDK Manager runs and marks the Android SDK Platform tools. Install it.

This toolkit contains the Android Debug Bridge, a utility that allows you to communicate with an Android device from the command line. It is the need to tell Android to install it all on the memory card.

2. Connect Android Device to Computer using USB

3. Open a command console and carries out checks

Go to Start> Run, or press Windows + R, and type cmd. In the command console, go to the directory “Program Files” and enter the path AndroidAndroid-SDKPlatform-tools. Once there:

  • Write adb devices to see if the phone is connected and recognized
  • You should see a device with a serial number
  • If not, or appears as offline, try another USB cable
  • Enter netstat and see if port 5037 is in use
  • Is the use ADB. If in use, close the process in use

Before proceeding, you should disable any firewall or antivirus resident, since it can interfere with the ADB connection with the mobile.

4. Run the command to force the installation to SD

Android has a parameter that describes how to install the default applications on the mobile. This parameter is called setInstallLocation, and accepts three values:

  • 0 [auto]: Let the phone decide the best location for an app
  • 1 [internal]: It installs everything in the internal storage
  • 2 [external]: It installs everything in the memory card

As you guessed, you have to do is change the value from 0 to 2 setInstallLocation. To do this, run the following command:

  • adb shell pm setInstallLocation 2

If it does not error message, unplug your phone, restart your phone. Now all applications installed on the SD card. If you want to return to the previous situation, repeat the process changing a zero to 2.

A note of caution

Some applications will not run from the memory card. It then must be moved manually from the SD card to the phone. An example of apps that need to be on the phone are the widgets.

I always faced problem with big sized games especially moving Gameloft games to SD card on Android phone.

Have you had problems of space on your Android phone? Which method you use to make room?

Click Here to Leave a Comment Below 9 comments
srinu smart - January 7, 2012

All the apps will move to sd?? Some what how like fb,gmail,google maps, twitter can be moved to sd card. To free out some phone memory.

Reply
    srinu smart - January 7, 2012

    Some phone manufacturer apps and games can’t be moved to sd card.

    Reply
srinu smart - January 8, 2012

http://www.oracle.com/technetwork/java/javase/downloads/index.html
Java Platform (JDK) 7u2. this is only we have to download.

Reply
Rajan Balana @ AndroidNew - January 18, 2012

I must this is really a nice trick for non-root user but it is very lengthy and need keen attention while doing 🙂

Reply
Shivanand - April 16, 2012

Hey Rohit, I seem to be having a problem with my device. I can see it in explorer but somehow the device doesnt show up when i type adb devices in cmd. Can u help?

Reply
Judges Bailiff - April 30, 2012

Your instructions work properly until you begin Step 3.

Here in-lies the problem with your partial instructions:

Go to Start> Run, or press Windows + R, and type cmd. In the command console, go to the directory “Program Files” (PROBLEM NUMBER ONE – no CORRECT explanation in DETAIL) and enter the path AndroidAndroid-SDKPlatform-tools. (DID NOT WORK) Once there:

Write adb devices to see if the phone is connected and recognized (REQUIRES MORE EXPLAINATION – IN DETAIL)
You should see a device with a serial number
If not, or appears as offline, try another USB cable
Enter netstat

(NEEDS DETAILED INSTRUCTIONS ie, “type “netstat” in the command console at C:Program Files> prompt” etc.)

and see if port 5037 is in use
(TELL US HOW TO DETERMINE “IN USE” as opposed to “NOT IN USE”)

Is the use ADB (MORE DETAILED INSTRUCTIONS INSERTED HERE PLEASE).
If in use, close the process in use

*******************************************************************
TIP: The correct path in the command console to REALLY go to the directory “Program Files”, just type the correct path like this:

cd c:”Program Files” WITH THE QUOTES (for WINDOWS 7 Home Edition)

I know, the editor was terrible about explaining himself clearly and concisely. Perhaps they expect readers to know what they means by way of mindreading. The editor’s instructions did not even work correctly upon following his steps precisely.

TO THE EDITOR: in the future, please explain ALL steps more thoroughly please.
It will surely benefiit all your readers in a much more positive way and they will be thankful you took the time to exlain details step-by-step rather than an article with missing and/or partially given instructions to perform the specified actions.

Regards,

Reply
george - July 22, 2012

help!
Tried it with my ZTE but keep getting errors…

Reply
George Udosen - July 26, 2012

tried on my ZTE android the setInstallLocation command was declared invalid. How can I get past this, I need it cause my phone memory is small.
Phone make: ZTE r750
Android version: 2.1 update 1

Reply

Leave a Reply: