Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

It seems that some apps default to saving to SD-card when they're first installed on Froyo rather than defaulting to internal memory, this is annoying because whenever I mount the SD Card as storage in Windows the icons for those apps disappear from my home screen, and I have to go into the apps list and find them to add them back onto the home screen. If I even notice they've gone.

I have a Galaxy S with over 1.4GB of internal memory free, so have absolutely no worries about apps taking up space on the internal storage, or running out of memory, so I'd like to use that space and save the SD storage for my files (ie pictures, movies and music).

Apps that had somehow moved themselves onto my SD Card when I checked just now were SliceIt and Open Signal Maps. In the past I remember that both Angry Birds and Angry Birds Seasons had done this too until I moved them back onto the phone (in fact I thought for a bit that Angry Birds Seasons had replaced Angry Birds as the original disappeared from the home screen around the same time that I installed Seasons, I then got suspicious a few days later when Seasons disappeared too and found them both on the SD).

share|improve this question
up vote 6 down vote accepted

Thanks to this answer to this question Is moving apps to SD only available to rooted devices?.

I've discovered the getInstallLocation ADB command and set the install location to internal on my un-rooted phone.

With the Android SDK installed, and my phone connected via USB with USB Debugging mode switched on, enter the following commands:

adb devices
(check that ADB can see my phone, and start necessary services)

adb shell
(connects a shell to the phone)

pm getInstallLocation
(returns 0[auto])

pm setInstallLocation 1
(sets the default install location to internal memory)

pm getInstallLocation
(run again to check that it is now set to the correct location, returns 1[internal])


Safely Remove Hardware, unplug phone and all done, without any need for root!

share|improve this answer
Nice, i prefer option 2 i mean pm setInstallLocation 2 xDDD all to sdcard :( – yeradis Mar 28 '11 at 16:47
Interesting, I had to be rooted to do this via Terminal Emulator on my device but I didn't try adb. – Matthew Read Oct 4 '11 at 17:20

I haven't tried it yet myself, but here is an XDA thread featuring a program that lets you move any app on or off your SD card and set the installation default to Internal, SD or Auto. I believe Auto is the default.

share|improve this answer
Looks like this needs root, and has mainly been tested by people with the opposite wish to me (ie they want everything to go to SD card). As I'm currently unrooted, I'd prefer a non-root method if possible. – GAThrawn Dec 23 '10 at 1:32
The only other method I've seen involved ADB commands on a rooted phone. I will say just once that root isn't something to fear and can open up lots of other capabilities on your device. Still up to you ultimately and I'll keep my eyes peeled for other solutions. – Saiboogu Dec 23 '10 at 2:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.