How to force install apps to SD card without ROOT!!!

NOTE: The lastest version of this article has moved here. Please bookmark the new site.

Ace has only got 180 MBs of Internal mem. If you install a lot of apps, you are bound to run into low disk space issues. This tutorial can help solve that problem partially.

This tutorial applies to all phones whether on Froyo or Gingerbread.

Getting Ready:

  1. First you have to enable USB debugging on your Android device from Settings > Applications > Development > USB debugging.
  2. You need to download and install the latest Android SDK on your computer from http://developer.android.com/sdk/.
  3. Install the latest Java SDK.

Tutorial:

  1. Extract the package to the folder of your choice [Let’s say- C:/android-sdk-windows/], run SDK Manager.exe
  2. Close the command / windows command prompt window that opens.
  3. In the new window, click on Available Packages to the left. Untick all options you are prompted to download except the USB driver option. Usb driver option will need an additional packages called Android SDK tools revision x(13 as of this time) & android sdk platform-tools revision x(7 as of this time) at the top of the list.
    (Note-If you get an error message at this point, enable “Force https://…” in the Settings.)
    Click on the Install Selected button in the bottom right corner and follow the prompts. )
  4. Do not open Samsung Kies. Connect your phone to your computer with a USB-cable. Your OS will prompt you to install new drivers. Choose to install them from the android-sdk-windows/extras/google/usb_driver folder. Do not mount your device; you only need to plug-in the cable.
    (If you don’t see this prompt like me, that means you have USB drivers already installed!! If you are running into problems with USB drivers, install these manually- SAMSUNG USB drivers )
  5. Run command prompt in administrator.
    Type in the following after the “>” at each step (without quotations,and including spaces and capital letters)

    cd C:\android-sdk-windows\platform-tools
    adb devices

    A list of devices attached should come

    adb shell

    A $ sign should pop up

    pm setInstallLocation 2

    Another $ should pop up

And you’re done!! Close everything, disconnect phone, reboot & enjoy!!

Note: Now the phone will be set to install all apps you install onto the SD card. However, already installed apps on phone will have to be manually moved if on phone memory. This process doesn’t move these apps for you, it adds the ability.

It’s preferable to install certain apps to the main memory, since it takes some time to mount the SD card when your phone boots. Apps installed on the memory card will also be unavailable to the system each time you mount your phone as a disk drive. There is no effect on the application performance so long as the external storage is mounted on the device.

In general, apps that integrate with the Android OS and that often run in the background is better to install on the internal storage, while games and most other applications will have no problem chilling outside on your SD card.
Any app using widgets needs to be installed on phone memory.

Hope it helps.

Update:
From what I have come to understand (correct me if I am wrong), Each app will store some .odex files on phone memory to speed up the boot process.
So don’t complain that phone memory is getting lesser after each install. Though if you could’ve installed 40 apps before now maybe 150+ and still have 30-40 mb left. (depends on what kind of apps you install).

Darktremor’s a2sd scripts deodex the apps and COMPLETELY move the apps and cache to sd card but you will need to root and run the scripts.
>> How to install Dark Tremor’s a2sd on Samsung Galaxy Ace (Froyo)

Though an easier way will be to install a custom Rom.

Original blog entry (outdated, not for ACE)

Related Articles:
Save 5-10 MB of Internal Memory by Moving Dump Files to SD Card

142 thoughts on “How to force install apps to SD card without ROOT!!!

  1. Pingback: how to install games on sd card android - android information

  2. Pingback: Sd Card Driver Problem

  3. Pingback: Sd Card Problem Galaxy Note 2

  4. I did all steps as mentioned and command got accepted also but while installing apps it says “Error: Insufficient storage available” but i have more than 3 GB spare in my SD card.
    Plz help and suggest what to do here to move apps to SD card.
    Thanks

  5. The game is recommended because it does pinball very well and for the right price.
    s best to play at bingo halls that offer comparatively lower but assured payouts.
    The online android games that are free for downloading are the games like Cestos where you
    need to start out with different balls and you will have to shoot out the balls that the others are trying to control and keep on board.

  6. Pingback: How to force install apps to SD card without ROOT!!! | APKFOC.US

  7. Pingback: How to force install apps to SD card without ROOT!!! | DROIDLOVER

  8. Pingback: How to force install apps to SD card without ROOT!!! - APKMANIAX | FREE MOBILE DOWNLOAD GAMES , APKFULLAPPS , APKGALAXY ,ANDROID.MOB , DATA-APK AND APK MANIA FOR SAMSUNG,NOKIA,HTC,SONY,ASUS,NEXUS,CROSS,T-MOBILE,ACER,MITO | APKMANIAX | FREE MOBILE DOWNLOAD

  9. Pingback: How to force install apps to SD card without ROOT!!! | APKMANIA.US

  10. hi, i did everything according to your instructions and it went well too but still my phone installs apps in the phone memory. when i cmd get-install-location it shows 2[external but there is still no option of moving apps and also the apps are still getting stored in the phone memory. please help

  11. I could not get this to work past step 5. typing in the combos of :cd C:\\…. etc really had no effect or were returned as “Path is not internally or externally recognised or along those lines.. Very annoying as others seem to also have had this issue but are not being replied too..

  12. I did everithing but still same, installs to internal memory. see the command “Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C:\Users\T U M A N A>cd C:\android-sdk-windows\platform-tools

    C:\android-sdk-windows\platform-tools>adb devices
    List of devices attached
    31a118aa device

    C:\android-sdk-windows\platform-tools>adb shell
    shell@android:/ $ pm setInstallLocation 2
    pm setInstallLocation 2
    Error: unknown command ‘setInstallLocation’
    usage: pm list packages [-f] [-d] [-e] [-s] [-e] [-u] [FILTER]
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm list libraries
    pm path PACKAGE
    pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
    pm uninstall [-k] PACKAGE
    pm clear PACKAGE
    pm enable PACKAGE_OR_COMPONENT
    pm disable PACKAGE_OR_COMPONENT
    pm disable-user PACKAGE_OR_COMPONENT
    pm set-install-location [0/auto] [1/internal] [2/external]
    pm get-install-location
    pm createUser USER_NAME
    pm removeUser USER_ID

    pm list packages: prints all packages, optionally only
    those whose package name contains the text in FILTER. Options:
    -f: see their associated file.
    -d: filter to only show disbled packages.
    -e: filter to only show enabled packages.
    -s: filter to only show system packages.
    -3: filter to only show third party packages.
    -u: also include uninstalled packages.

    pm list permission-groups: prints all known permission groups.

    pm list permissions: 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.

    pm list instrumentation: use to list all test packages; optionally
    supply to list the test packages for a particular
    application. Options:
    -f: list the .apk file for the test package.

    pm list features: prints all features of the system.

    pm path: print the path to the .apk of the given PACKAGE.

    pm install: 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.
    -s: install package on sdcard.
    -f: install package on internal flash.

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

    pm clear: deletes all data associated with a package.

    pm enable, disable, disable-user: these commands change the enabled state
    of a given package or component (written as “package/class”).

    pm get-install-location: returns the current install location.
    0 [auto]: Let system decide the best location
    1 [internal]: Install on internal device storage
    2 [external]: Install on external media

    pm set-install-location: changes the default install location.
    NOTE: this is only intended for debugging; using this can cause
    applications to break and other undersireable behavior.
    0 [auto]: Let system decide the best location
    1 [internal]: Install on internal device storage
    2 [external]: Install on external media
    shell@android:/ $”

    is it right?

  13. Thanks for the great explanation; it worked once a few months ago on my phone; I am now trying with my wife’s one and I cannot get the device drivers connected; I did install all you suggested from the SDK manager but there are no drivers under extras\ in fact the google directory is just not there 😦 any suggestions of where they could be?

  14. Hi! got an Samsung S5830i, with Ace-i-Sure custom ROM installed, i did everithing as u said and i get this message after i setinstalllocation 2 : “rename (/data/anr/traces.txt, /data/anr/traces.txt.anr): Permission denied Unable to chmod /data/log/dumpstate_app_error.txt.gz: Operation not permitted

  15. Bro i did every thing taking much patience…whats happening is all the apps i download or install directl on sdcard and also it shows in task manager in both phone memory and sd memory…after the default memory fills up the phone shows memory full …what shalli do plz hlp

  16. Hi there!
    i got an samsung galaxy ace S5830i and i fallowed your instructions and everything went well except programs keep installing on phone memory which is very low and i can’t move them to sd either.

  17. help!! after i type “adb shell” and hit enter, it all goes to heck. A line appears below my last entry that says “error: device not found” what do i do now?

  18. I downloaded the ADT BUNDLE and tried installing SDK manager. But i got some strange outputs.
    Got some errors like,
    failed to fetch URL https://dll-ssl.google.com/android/repository/addons_list-2.xml,reason: No route to host: connect
    failed to fetch URL https://dll-ssl.google.com/android/repository/addons_list-7.xml,reason: No route to host: connect

    How to over come with this problem?
    I really need to move the apps to sd card. I am using SAMSUNG GALAXY Y DUOS. Plz suggest me

  19. Does this also work for Samsung I589 ? barring the fact that its a dual SIM i guess its pretty much same as the I5830.

    Views appreciated

  20. Pingback: How to force install apps to SD card without ROOT!!! | do something create some thing

  21. Hi, can anyone help me with this,
    I cannot run the SDK Manager.exe, and it comes out “failed to execute tools\android.bat”

  22. My idiot zte990g has Facebook, G+, Gmail, and Email all in the main memory, and “Send to SD card” disabled. To me, that is the most ignorant gorram thing. I don’t mind if it takes a minute for FB to come up, and I don’t need the gorram widgets, I’d rather have the memory free for things like Navigator and Messaging.

    unfortunately, I don’t currently have a home unit on which I can download the SDK to fix this crap, either. And the work laptop is locked down. This is so frustrating.

  23. hi.. somebody help me.. what will i do when it says “adb is not recognized as an internal or external command, operable program or batch file”

    • That means that your phones drivers are not installed on the computer. I had this same problem. I have an LG phone, So i had to go to the LG website and install LG universal drivers. I suggest you do the same for your phone manufacturer.

  24. I am getting this error message – unknown command – “\setinstalllocation” . Please guide me what can be done in this case.

  25. when i hit enter entering setInstallLocation 2 it pop ups me by saying access denied.. what to do now. my cell is rooted

Leave a comment