`` Tutorial to Install Apps on SD Card without Android Rooting

How to Install Apps on SD Card without Android Rooting

Apps to SD LogoAt AndroidAdvices, it’s our continuous endeavor to assist with all your Android needs and we are always happy to hear from you. So whenever you wanted anything about anything about your Android then we are here to help you out. So, in lines with this though in this article we will check out on how you can forcefully install the Android applications on your SD Card without needing you to root the phone as we understand that rooting voids the warranty and includes hassles sometimes. Only one thing which we would like to request you is to just follow each and every single instruction which we mentioned so as to forcefully install the apps on your SD CARD as some phones are not capable of storing apps on SD Card.

Before you proceed, you need to move all the applications from your SD Card to the phone memory. Once you do this, you can proceed to follow the procedure which is mentioned below.

Procedure to Install apps in SD Card Forcefully:

  • Download Java Development Kit (JDK) followed by which you need to download the Software Development Kit (SDK) in your computer along with that you need to download the USB Drivers and also you need to ensure that the PC Suite is installed in your computer.
  • Now, enable the USB Debugging Mode from the path “Settings > Applications > Development > USB debugging”. You can also refer to the below mentioned image to enable the same.
  • USB DebuggingAfter installing the Java SDK, you need to install the Android SDK in your computer. After installing the Android SDK, you now need to run the tool called the Android SDK Platform tools.
  • Now, you will have to head to the toolkit which contains the Android Debug Bridge, a utility that allows you to communicate with an Android device from the command line.

SDK MANAGER

  • After this, you need to connect the Android phone to the computer using the USB Cable.
  • Open the command prompt in your computer which you can open by pressing the “Windows + R” and then you need to type in the command as “cmd” and then enter the path as Android\Android-SDK\Platform-tools.

SDK PLATFORM

  • Now, you need to type in the command as “adb devices” to check whether the phone is connected or not. Now, if it appears as “offline”, you need to check with the USB cable. Enter the command as “netstat” to check with the port is in use or not. If it is in use then then you need to close the process which is in the use.
  • You will now need to proceed and check whether all the firewall and antivirus tools are disabled as these tools generally tend to interrupt the process.
  • Now, all you need to do is to enter the command as “setInstallLocation”  wherein after which it will accept the three valueswhich means;

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

  • You need to now change the value from 0 to 2 setInstallLocation. For changing this, you need to run the following command,

adb shell pm setInstallLocation 2

Just in case if there is no error message, unplug the phone and restart the phone. After this, you will be in a position to easily install the applications in the SD Card. Do let us know just in case if you face any issues as we will try our level best to ensure that the issues are addressed at the earliest.


200 comments

  1. after installing a game after the procedure given above won’t there be a decrease in the memory of external memory card

  2. hi ive done the whole process checked my phone and it tells me im using option 2 external but it still saves to internal
    phone is a galaxy megaGT-19005
    any adeas whats wrong

  3. will this work on
    Samsung S5690 Galaxy Xcover
    Android OS, v2.3 (Gingerbread)

  4. Thank you very much Pradeep, this is great!!! I was able to move many more apps than before (but not all) to SD-card after a few additions, which were:
    The connection of the phone to the computer when plugging in the cable should be as disk drive.
    in cmd.exe under SDK platform first cd (change directory) to get to C:\ .
    Then cd (change directory), so:
    C:\Users\your username\cd, than you get
    C:\
    than enter path exactly like in Windows Explorer (use round ( and ), not square [ and ]!),
    C:\cd Program Files (x86)\Android\android-sdk\platform-tools
    C:\ Files (x86)\Android\android-sdk\platform-tools>adb devices
    run setInstallLocation not separately, but as
    C:\ Files (x86)\Android\android-sdk\platform-tools> adb shell pm setInstallLocation 2

    But now my questions:
    1. Does this procedure also work with BlueStacks as an emulator instead of SDK? (BlueStacks was already on my PC for WhatsApp on PC purposes. It is much easier to use and much smaller than SDK. I now removed BueStacks to get rid of the error “more than one device and emulator ” in cmd.exe.)
    2. Do I have to disable USB debugging in my phone afterwards?

    I would like to know because I have to do it all over again since my HTC Wildfire S was broken and replaced by a new one. If I cannot use BlueStacks and have to remove it, do you know a way to keep my messages and contacts in WhatsApp which runs under BlueStacks on my PC? Thanks in advance.

  5. Hi Pradeep Neela,
    My phone is Galaxy Ace Plus. After running the command “adb shell pm setInstallLocation 2″ in the command prompt, my phone still follows “0 [auto]: Let the phone decide the best location for an app” while installing apps. What could be the reason.

  6. i want to ask dat can i do this without rooting uo the device na.. n where can i gt usb driver?? website,,
    i have already installed adk and jdk.. bt my phne s nt detected at all

  7. Works perfectly! Thanks so much!! :)

  8. hello mr. droid geek.
    i need to ask that i couldn’t get pc suite to install in my pc as the android which im having is SPICE MI-280. There is no pc suite available for it.
    can i root it without installing it ? ‘
    please help.
    thanks.

  9. Help about what could I have missed, this is what is on the screen, with my Milestone version 2.1 :

    adb shell pm setInstallLocation 2

    Directory of C:\Program Files\Android\android-sdk\platform-tools

    08/09/2012 06:40 p.m. .
    08/09/2012 06:40 p.m. ..
    08/09/2012 06:40 p.m. 848.384 aapt.exe
    08/09/2012 06:40 p.m. 191.488 adb.exe
    08/09/2012 06:40 p.m. 96.256 AdbWinApi.dll
    08/09/2012 06:40 p.m. 60.928 AdbWinUsbApi.dll
    08/09/2012 06:40 p.m. 275.456 aidl.exe
    08/09/2012 06:40 p.m. api
    08/09/2012 06:40 p.m. 161.280 dexdump.exe
    08/09/2012 06:40 p.m. 2.618 dx.bat
    08/09/2012 06:40 p.m. 140.800 fastboot.exe
    08/09/2012 06:40 p.m. lib
    08/09/2012 06:40 p.m. 22.601.216 llvm-rs-cc.exe
    08/09/2012 06:40 p.m. 401.602 NOTICE.txt
    08/09/2012 06:40 p.m. renderscript
    08/09/2012 06:40 p.m. 207 source.properties
    11 File(s) 24.780.235 bytes
    5 Dir(s) 91.457.925.120 bytes free

    C:\Program Files\Android\android-sdk\platform-tools>cd adb
    The system cannot find the path specified.

    C:\Program Files\Android\android-sdk\platform-tools>adb shell pm installlocation
    2
    Error: unknown command ‘installlocation’
    usage: pm [list|path|install|uninstall]
    pm list packages [-f]
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm path PACKAGE
    pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
    pm uninstall [-k] PACKAGE
    pm enable PACKAGE_OR_COMPONENT
    pm disable PACKAGE_OR_COMPONENT

    The list packages command prints all packages. Options:
    -f: see their associated file.

    The list permission-groups command prints all known
    permission groups.

    The list permissions command prints all known
    permissions, optionally only those in GROUP. Options:
    -g: organize by group.
    -f: print all information.
    -s: short summary.
    -d: only list dangerous permissions.
    -u: list only the permissions users will see.

    The list instrumentation command prints all instrumentations,
    or only those that target a specified package. Options:
    -f: see their associated file.

    The list features command prints all features of the system.

    The path command prints the path to the .apk of a package.

    The install command installs a package to the system. Options:
    -l: install the package with FORWARD_LOCK.
    -r: reinstall an exisiting app, keeping its data.
    -t: allow test .apks to be installed.
    -i: specify the installer package name.

    The uninstall command removes a package from the system. Options:
    -k: keep the data and cache directories around.
    after the package removal.

    The enable and disable commands change the enabled state of
    a given package or component (written as “package/class”).

    C:\Program Files\Android\android-sdk\platform-tools>setInstallLocation
    ‘setInstallLocation’ is not recognized as an internal or external command,
    operable program or batch file.

    C:\Program Files\Android\android-sdk\platform-tools>set InstallLocation
    Environment variable InstallLocation not defined

    C:\Program Files\Android\android-sdk\platform-tools>set installlocation
    Environment variable installlocation not defined

    C:\Program Files\Android\android-sdk\platform-tools>setInstallLocation
    ‘setInstallLocation’ is not recognized as an internal or external command,
    operable program or batch file.

    C:\Program Files\Android\android-sdk\platform-tools>set Install Location
    Environment variable Install not defined

    C:\Program Files\Android\android-sdk\platform-tools>set install location
    Environment variable install not defined

    C:\Program Files\Android\android-sdk\platform-tools>setInstallLocation
    ‘setInstallLocation’ is not recognized as an internal or external command,
    operable program or batch file.

    C:\Program Files\Android\android-sdk\platform-tools>adb shell pm setInstallLocat
    ion 2
    Error: unknown command ‘setInstallLocation’
    usage: pm [list|path|install|uninstall]
    pm list packages [-f]
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm path PACKAGE
    pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
    pm uninstall [-k] PACKAGE
    pm enable PACKAGE_OR_COMPONENT
    pm disable PACKAGE_OR_COMPONENT

    The list packages command prints all packages. Options:
    -f: see their associated file.

    The list permission-groups command prints all known
    permission groups.

    The list permissions command prints all known
    permissions, optionally only those in GROUP. Options:
    -g: organize by group.
    -f: print all information.
    -s: short summary.
    -d: only list dangerous permissions.
    -u: list only the permissions users will see.

    The list instrumentation command prints all instrumentations,
    or only those that target a specified package. Options:
    -f: see their associated file.

    The list features command prints all features of the system.

    The path command prints the path to the .apk of a package.

    The install command installs a package to the system. Options:
    -l: install the package with FORWARD_LOCK.
    -r: reinstall an exisiting app, keeping its data.
    -t: allow test .apks to be installed.
    -i: specify the installer package name.

    The uninstall command removes a package from the system. Options:
    -k: keep the data and cache directories around.
    after the package removal.

    The enable and disable commands change the enabled state of
    a given package or component (written as “package/class”).

    C:\Program Files\Android\android-sdk\platform-tools>adb shell pm
    usage: pm [list|path|install|uninstall]
    pm list packages [-f]
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm path PACKAGE
    pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
    pm uninstall [-k] PACKAGE
    pm enable PACKAGE_OR_COMPONENT
    pm disable PACKAGE_OR_COMPONENT

    The list packages command prints all packages. Options:
    -f: see their associated file.

    The list permission-groups command prints all known
    permission groups.

    The list permissions command prints all known
    permissions, optionally only those in GROUP. Options:
    -g: organize by group.
    -f: print all information.
    -s: short summary.
    -d: only list dangerous permissions.
    -u: list only the permissions users will see.

    The list instrumentation command prints all instrumentations,
    or only those that target a specified package. Options:
    -f: see their associated file.

    The list features command prints all features of the system.

    The path command prints the path to the .apk of a package.

    The install command installs a package to the system. Options:
    -l: install the package with FORWARD_LOCK.
    -r: reinstall an exisiting app, keeping its data.
    -t: allow test .apks to be installed.
    -i: specify the installer package name.

    The uninstall command removes a package from the system. Options:
    -k: keep the data and cache directories around.
    after the package removal.

    The enable and disable commands change the enabled state of
    a given package or component (written as “package/class”).

    C:\Program Files\Android\android-sdk\platform-tools>adb devices
    List of devices attached
    0403725B0C01A016 device

    C:\Program Files\Android\android-sdk\platform-tools>netstat

    Active Connections

    Proto Local Address Foreign Address State
    TCP Yeraldine:1030 localhost:4573 ESTABLISHED
    TCP Yeraldine:1048 localhost:1049 ESTABLISHED
    TCP Yeraldine:1049 localhost:1048 ESTABLISHED
    TCP Yeraldine:1274 localhost:5037 TIME_WAIT
    TCP Yeraldine:4573 localhost:1030 ESTABLISHED
    TCP Yeraldine:5037 localhost:1275 TIME_WAIT
    TCP Yeraldine:1098 a23-7-112-60.deploy.akamaitechnologies.com:https
    CLOSE_WAIT

    C:\Program Files\Android\android-sdk\platform-tools>setInstall
    ‘setInstall’ is not recognized as an internal or external command,
    operable program or batch file.

    C:\Program Files\Android\android-sdk\platform-tools>setInstallLocation
    ‘setInstallLocation’ is not recognized as an internal or external command,
    operable program or batch file.

    C:\Program Files\Android\android-sdk\platform-tools>dir
    Volume in drive C is TI105133P0A
    Volume Serial Number is DC47-467A

    Directory of C:\Program Files\Android\android-sdk\platform-tools

    08/09/2012 06:40 p.m. .
    08/09/2012 06:40 p.m. ..
    08/09/2012 06:40 p.m. 848.384 aapt.exe
    08/09/2012 06:40 p.m. 191.488 adb.exe
    08/09/2012 06:40 p.m. 96.256 AdbWinApi.dll
    08/09/2012 06:40 p.m. 60.928 AdbWinUsbApi.dll
    08/09/2012 06:40 p.m. 275.456 aidl.exe
    08/09/2012 06:40 p.m. api
    08/09/2012 06:40 p.m. 161.280 dexdump.exe
    08/09/2012 06:40 p.m. 2.618 dx.bat
    08/09/2012 06:40 p.m. 140.800 fastboot.exe
    08/09/2012 06:40 p.m. lib
    08/09/2012 06:40 p.m. 22.601.216 llvm-rs-cc.exe
    08/09/2012 06:40 p.m. 401.602 NOTICE.txt
    08/09/2012 06:40 p.m. renderscript
    08/09/2012 06:40 p.m. 207 source.properties
    11 File(s) 24.780.235 bytes
    5 Dir(s) 91.456.045.056 bytes free

    C:\Program Files\Android\android-sdk\platform-tools>adb shell pm setInstallLocat
    ion 2
    Error: unknown command ‘setInstallLocation’
    usage: pm [list|path|install|uninstall]
    pm list packages [-f]
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm path PACKAGE
    pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
    pm uninstall [-k] PACKAGE
    pm enable PACKAGE_OR_COMPONENT
    pm disable PACKAGE_OR_COMPONENT

    The list packages command prints all packages. Options:
    -f: see their associated file.

    The list permission-groups command prints all known
    permission groups.

    The list permissions command prints all known
    permissions, optionally only those in GROUP. Options:
    -g: organize by group.
    -f: print all information.
    -s: short summary.
    -d: only list dangerous permissions.
    -u: list only the permissions users will see.

    The list instrumentation command prints all instrumentations,
    or only those that target a specified package. Options:
    -f: see their associated file.

    The list features command prints all features of the system.

    The path command prints the path to the .apk of a package.

    The install command installs a package to the system. Options:
    -l: install the package with FORWARD_LOCK.
    -r: reinstall an exisiting app, keeping its data.
    -t: allow test .apks to be installed.
    -i: specify the installer package name.

    The uninstall command removes a package from the system. Options:
    -k: keep the data and cache directories around.
    after the package removal.

    The enable and disable commands change the enabled state of
    a given package or component (written as “package/class”).

  10. I am getting really pissed… i typed Android\Android-SDK\Platform-tools and they said the system cannot find the path specified. when i type adb devices , they said adb is not recognized as an internal or external comment. help me please , i am using HTC-ChaCha

  11. I have micromax a52 android 2.3.6 . When i am typind “adb devices” it is showing that “List of devices attached” whether i am connecting my device or not so how will i know that my phn is connected or not.And It is neither showing ‘offline’ or ‘online’. Rest of the cmd shows “error loading device ” whether i m connecting my device or not\

  12. my device is not getting detected……….plz help me..

  13. HTC EXPLORER: worked nicely but it took 4 times downloading before instalation..???

  14. Its not working on my Alcatel OT-918N :(

  15. hi,
    does this work for android 4.0.3. am using an lg optimus l7.
    waiting for ur ans thanks.

  16. I have a Sprint ZTE Optik. Which has the following: Device Description: V55, Model: V55, Hardware version: HW_V55_C, Radio Technology: EVDO_A, Android version: 3.2.1, Baseband version: MSM8660_3132_V55_V1.0 1 [jul 23 2011 22:00:00], Kernel version: 2.6.35.11-perf, root@linux-desktop #19, Build number: V55V1.1.0B10. I have followed all of the steps but I still do not have the USB Storage option when I go to settings > applications > Manage applications. What am I missing?

  17. C:\Program Files\Android\android-sdk\platform-tools>adb devices
    List of devices attached
    but it doesn’t show the device.when i tried to execute directly adb shell pm setInstallLocation 2.then the command prompt shows shows an error message “no device found”.please anybody help me

  18. when I tried these steps…I got the below error

    C:\Program Files\Android\android-sdk\platform-tools>adb shell pm setInstallLocat
    ion 2
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    Error: unknown command ‘setInstallLocation’
    usage: pm [list|path|install|uninstall]
    pm list packages [-f]
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm path PACKAGE
    pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH
    pm uninstall [-k] PACKAGE
    pm enable PACKAGE_OR_COMPONENT
    pm disable PACKAGE_OR_COMPONENT

    The list packages command prints all packages. Options:
    -f: see their associated file.

    The list permission-groups command prints all known
    permission groups.

    The list permissions command prints all known
    permissions, optionally only those in GROUP. Options:
    -g: organize by group.
    -f: print all information.
    -s: short summary.
    -d: only list dangerous permissions.
    -u: list only the permissions users will see.

    The list instrumentation command prints all instrumentations,
    or only those that target a specified package. Options:
    -f: see their associated file.

    The list features command prints all features of the system.

    The path command prints the path to the .apk of a package.

    The install command installs a package to the system. Options:
    -l: install the package with FORWARD_LOCK.
    -r: reinstall an exisiting app, keeping its data.
    -t: allow test .apks to be installed.
    -i: specify the installer package name.

    The uninstall command removes a package from the system. Options:
    -k: keep the data and cache directories around.
    after the package removal.

    The enable and disable commands change the enabled state of
    a given package or component (written as “package/class”).

    C:\Program Files\Android\android-sdk\platform-tools>adb devices
    List of devices attached
    0403A29B1200A014 device

    C:\Program Files\Android\android-sdk\platform-tools>

  19. ya it worked now when i install apps like facebook flash player  it direcly moves to sd card great work thanks

  20. i did process and it successfully done but i m not able to move apps to sd card

  21. its showing me “permission denied” every time.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Human Verification: In order to verify that you are a human and not a spam bot, please enter the answer into the following box below based on the instructions contained in the graphic.


About Pradeep Neela

Friends call him Droid Geek because he tries out different ROM’s everyday and helps droid users experience better features on their devices. Add +Neal Pradeep on Google Plus for more Updates.
Scroll To Top
Close
Get Daily Free Newsletters

Receive The Latest Android News, Tips & Useful Guides Directly To Your Email - It's Free!!