Move, Install Android Apps to SD Card without Rooting

As written earlier, the most frustrating aspect of an Android Phone is the ‘Low-on-Space’ warning and attendant problems.

The most practical and useful advice on fixing ‘Low-on-Space’ problem in an Android phone is to move as many Apps as possible to the SD Card from the phone internal storage.  But the solution immediately runs into a problem of its own.  The danged Android phone will not allow many apps to be moved to SD Card.

The most dangerous advice is to Root the phone - not only because of warranty issues or the danger of bricking the smartphone.  The actual problem is in finding a decent and correct Mod (custom built firmware distribution) for the model.  The most popular Mod has only 2 models of Samsung phones in the 3” display range.

After searching for 3 hours, found out a decent workaround to Move (Install) Apps to SD Card without Root access.  Once I worked it in, the phone’s low on memory nag went away (fingers crossed).  To save time for anyone interested, here is the procedure.

Before using the workaround to move or install Android Apps to SD Card without Rooting, please take these precautions.  Ensure -
  • the phone is charged (at least 50%),
  • the UPS of the PC actually works (for at least 15 minutes),
  • phone’s data, settings, contacts, etc., are backed up,
  • phone is not currently nagging ‘low-on-space’ error,
  • Wi-Fi and 2G/3G data connections are off.
You will have to keep these handy -
  • the USB cable to connect phone to PC,
  • Oracle’s Java JDK bundle, (jdk-7u21-windows-i586.exe, as of this post)
  • Google’s Android SDK - ADT bundle (adt-bundle-windows-x86-20130522, as of this post),
  • phone models’ device driver (for Samsung get the latest Kies),
  • about 10 to 15 minutes of free time, and,
  • of course the phone.
So, here is the how to:

1.  Install the Oracle’s Java JDK bundle in its default location.

2.  Unzip Google’s Android SDK- ADT bundle in C:\

3.  In the phone enable USB Debugging under Developer tab.  In Gingerbread tap Settings -> Applications -> Development -> USB debugging.

enable_usb_debugging

4.  Connect the Phone via USB cable - do *not* connect, turn on, or share USB storage; just insert the USB cable and leave it alone.

5.  In PC browse to the ‘C:\adt-bundle-windows-x86-20130522\sdk\platform-tools’ folder.

6.  Shift+Right Click inside the folder and and choose [Open Command Window Here].  If option doesn’t show up, make sure you right clicked at empty space inside the folder.

7.  In the command prompt window type the following -
  • adt bundle adb shell [enter]
  • pm getInstallLocation [enter] - you should be replied with '0 [auto]'
  • pm setInstallLocation 2 [enter]
8.  If everything had gone according to plan typing ‘pm getInstallLocation [enter]’ once again will spit out figure ‘2 [external]’.











9.  Exit the bundle adb shell by typing 'exit [enter]' and close the window.  Disable USB Debugging turned on in (3).

Now the apps which could not be moved to SD Card, which had ‘Move to SD Card’ button greyed out, would be enabled.  Here it is enabled for Comodo Battery Saver which doesn’t make *too* much of difference installed in SD Card.














Obviously there are some apps which should *not* be moved to SD Card, and some apps will *not* work properly if not installed in internal storage - so take care.

For e.g., the whole purpose of Comodo Mobile Security would be defeated if it can be moved to SD Card.  Hence even with this workaround you will not be able to move it.

Here is Comodo Mobile Security which refuses to (or cannot) be moved to the SD Card even with the workaround.

move_to_sd_card_disabled_CMS

Then again, many apps which automatically install to internal memory would default install to SD Card.  For e.g., Tango, one of the apps I uninstalled earlier, smoothly slotted itself into the SD Card on re-installation.

21 comments:

  1. Great post! Was haunted by memory low warnings on my Note 2. I have a few questions..
    1. Will all my apps default install to external sd card? If so, will all my widgets work?
    2. Can it survive an os update from Samsung?

    ReplyDelete
  2. hi @Anand! welcome and thanx.

    1. All apps will *not* be moved -> see e.g. of Comodo Mobile Security above. Similarly Google Maps also doesn't move. Of course I haven't checked uninstall/reinstall of gmaps.

    1a) I see no reason widgets shouldn't work. Though any widgets installed in SD card will not work (not even appear on homescreen) when phone is connected via USB card.

    2. AFAIK the last update from Samsung was MD1 for Gingerbread on 10 April. I did this fingering on 18 June - so we will have to wait for next update to see whether it will survive 1.

    ReplyDelete
  3. Thank you so much for such a prompt reply. I had rooted my Note 2 for this very reason. But after reading your article I want to unroot it. In fact had i found you article before, Id have never rooted my phone.

    Anyway, so I did unroot my device, but I still have the status showing me modified in Settings. Any idea what i could do? I wiped cache, i also hard reset the device. Still shows 'modified'.

    ReplyDelete
  4. @Anand. 1st off I've never root/unroot device so I am not well versed with this problem. Have you searched XDA? Here is exactly same problem and some solutions:
    http://forum.xda-developers.com/showthread.php?t=2220498

    ReplyDelete
  5. Yes I was and rather am on the same page. Also talking to the OP there. Have been present on XDA since 2008 so I do know a bit about rooting. Well currently I am un-rooted. The problem is my status still shows modified.


    I did try your trick. Checked my default location to external sd card but I do not get an option to change my storage to sd card in settings. Any ideas?

    ReplyDelete
  6. hen I actually cannot say what the custom ROM is/has done - and I doubt whether the authors of those (any such) MODs can actually say what is happening/ has happened. Simply put, Android isn't so well understood to finger around - and that is the point I mentioned in the post.

    As suggested in XDA and SPhonejam try a 'wipe' or 'count reset' - whatever they mean (or entail), for I've no idea - n if youre in XDA from '08, then, you know more about them than me.
    :-)

    ReplyDelete
  7. Hi! Done! i wasn't using a custom ROM. I was on stock recovery rom and kernel.

    Anyway things are all set to stock now. But still couldn't get your solution to work.

    ReplyDelete
  8. In Ice Cream Sandwich and Jelly Bean, I think the command is set-Install-Location / get-Install-Locations with the '-' (hyphens).

    ReplyDelete
  9. Hi sir! Was away a couple of days. Well when i had tried the install location did show me 2. Immediately after I ran the commands you mentioned. Nothing wrong with the commands. But my file manager shows me that my files are being installed on internal memory. I am running stock JB 4.1.2

    ReplyDelete
  10. hi and wb. 1) To answer your earlier question : The change in setInstallLocation is retained even after an update from Samsung. Today I updated from MD1 (for Gingerbread on 10 April) to MF4 and the hack is still retained.

    2) Unfortunately I have trouble with my WiFi and until I replace it, I can't download, install from Play store to check. I don't use data network to install apps. So that will hv to wait for few more days.

    3) Again, some apps *will* need to be installed on internal memory and so will be.
    :-D

    ReplyDelete
  11. I installed AppMgr 3 and it says "The device does not have a real primary external storage, or the primary external storage is emulated. Moving app to SD function cannot be supported by this device."

    I also don't get an option of Move to sd card in app settings of Android.'

    ReplyDelete
  12. Short Answer:
    http://forums.androidcentral.com/verizon-galaxy-s-iii/190149-app-sd-not-supported.html
    and
    http://forum.xda-developers.com/showthread.php?t=1938482
    and
    https://community.verizonwireless.com/thread/796725
    and
    https://www.techsupportalert.com/freeware-forum/mobile-apps/10419-install-app-to-sd-card.html

    !Whew!

    ReplyDelete
  13. should i modify my sd card like using minitool partition? or just as it is when i bought it? no modification of sd card.

    coz did all the instruction with the 2 [external] at the end when i checked it using “pm get-install-location”

    the problem is, when i try to install an app it says:

    Out of Space
    Unable to install IDM. Delete some items and try again.

    I checked the SD card and it still has 13GB of free space. Im using a samsung grand duos unrooted.

    Please help. Thanks in advance :)

    ReplyDelete
  14. i have done this accurately and is set to location 2, but when i download apps from the market some apps/games are not fully installed on the SD card some data is still on the internal memory please help...

    ReplyDelete
  15. Hi, Sorry about the delay. This is indeed a problem. 1st point is this hack doesn't work in Jelly Bean. 2nd some security apps *cannot* be installed in the SD card, even if force them. 3rd OEM installed apps cannot be installed - that is updated - to SD card, even if default is set to '2'. Day-before-yesterday, update to YouTube failed, saying cannot be installed at specified 'default' location. Here is the screen capture.
    :-/

    ReplyDelete
  16. Now is ur problem solved..I have lg l9 jelly bean I want to move apps to sd card

    ReplyDelete
  17. hi @prateek, This workaround is not possible after ICS. In fact in JB it is impossible (I think even with root access), as Android itself doesn't have those options - Google has removed them. :-)

    ReplyDelete
  18. how the facebook data can be moved to sd card?

    ReplyDelete
  19. actually it is not working for facebook app and next launcher 3d at all others apps are working ....pls help

    ReplyDelete
  20. As I said if it doesn't move, it can't be helped. Many ppl have managed to move it, many complain that it is *not* being moved. I guess you are one of the unlucky ones.

    ReplyDelete
  21. I did all the step but no move to sd card option. Also after doing all steps downloading from Google play says insufficient storage available though I have 9.7 GB free storage on my ExtSdcard.
    Can you my problem?

    ReplyDelete

This blog uses the Disqus commenting system. If you try to post comments through the usual Blogger comment form, they will not appear on the Blog.