[Update - May 2013] To see whether this procedure may work on your phone, check out the new blog post [Follow up] List of phones that work with “How to move almost all apps to SD card” procedure and comments to this post. Please note that this procedure does NOT work on the best selling Samsung Galaxy S3. [/Update]
[Update - March 2013] To help fellow Android users know whether this procedure will work on their phone, please submit this anonymous form (link: Google Forms) indicating whether it worked for you. Thanks! [/Update]
One of the most anticipated additions to Android 2.2 (aka Froyo) was ability to install applications to SD card, because it helps to free internal memory. When internal phone memory gets full, Android users have two problems: 1) users can’t install any more apps and 2) phone starts working slowly. The slow down is caused by the lower speed of disk write operations to the internal memory (see this post for more information on this topic), but the bottom line is that having low available space in the internal memory is not desirable.
So what should a user do when Android phone is running out of internal memory? Uninstalling rarely used apps is an obvious and easiest solution. Moving apps that support Froyo’s apps2sd feature to SD card is another option. However, for this feature to work developers need to enable apps2sd in their apps and unfortunately many large apps still do not support it.
It turns out there is a hack that lets you move almost any Android app to SD card, even if the app developer did not enable this option. And the best part: obtaining root is not required for this to work. More about this hack below, but first let’s take look at the limitations of the Android apps2sd feature.
Apps2sd limitations
Apps2sd functionality is a step in the right direction. However, the way it is implemented creates some restrictions which you should know about:
- When an app is moved to SD card, portion of that app still remains in the internal phone memory. On average, you can expect that application’s footprint in the phone memory will be reduced by a factor of 2. Note that for some apps the move will save less than 50%, e.g. Google Earth size in the internal memory reduces from 20.5 MB to 15MB, Adobe Flash Player 10.1 – from 12.4 MB to 8 MB.
- If you use an app widget on your home screen, this app should not be moved to SD card, because the widget will stop working.
- Android OS doesn’t have any batch tools to move all movable apps to SD card at once. You will need to manually move one app at a time by going through the list of installed apps in Settings->Applications->Manage Applications.
- System apps such as Maps and Youtube cannot be moved to SD card using stock firmware on unrooted phone. On some phones Adobe Flash Player is pre-installed as a system app and also cannot be moved. Providers may also install bloatware as system apps, which also cannot be moved on unrooted phone. However, on a rooted phone system apps can be deleted or moved – see FAQ for details.
- If you re-flash phone’s firmware, some backup applications may not restore your apps to SD card, but will restore them to the phone memory.
Despite these restrictions, moving apps to SD card is a good way to free up internal phone memory and speed up your Android phone.
Moving (almost) all Android apps to SD card
To run commands which will enable Move to SD card button for most installed apps, you need to have adb executable on your computer. Adb stands for Android Debug Bridge and is used for Android software development, but it is a very useful tool to have for any advanced Android user. You do not need to have a rooted phone to run adb commands.
- To download the latest version of Android SDK (which includes adb executable), follow instructions from step 2 in the Installing the SDK article from the official Android development site. Note: you do not need to install any other software such as Eclipse for this procedure.
- After downloading the archive of the SDK, unzip it to any folder and remember its location (let’s call this folder <sdk>).
- If you are installing Android SDK on Windows machine, you also need to install USB driver as described in USB driver for Windows section.
- Connect the phone using USB cable and do not enable USB storage mode. Go to Settings -> Applications -> Development and enable USB debugging.
- Start terminal window on your computer (on Windows: click Start, type “cmd” and press Enter).
- In the terminal window, navigate to folder containing file named “adb” (<sdk>\platform-tools folder) using this command: cd “full-path-to-sdk-platform-tools” (replace “full-path-to-sdk-platform-tools” with an actual path as shown in the screenshot below).
- Type the following lines in the terminal window and press Enter after each line:
- adb devices
- This checks that the phone is connected and is in the correct mode. You should see one entry in the list of the attached devices. If you get “device not found” error, see Troubleshooting section below.
- adb shell
- If you get “cannot find file” error and are using Mac or Linux, instead type: ./adb shell
- pm set-install-location 2
- (If this command doesn’t work try using the “old” command: pm setInstallLocation 2. Thanks to polosco for the tip.)
- exit
-

Command prompt commands on Windows
- adb devices
- Now on your phone go to Settings->Applications->Manage Applications.
- If you have Android 2.3 or later, click on USB Storage tab (may be called SD card). This tab shows a list of apps that either can be installed to SD card or are already on SD card. The ones that have checkbox on the right side are already moved to SD card (credit to Michael Scully for the tip).
- On Android 2.2 and earlier if you don’s see USB Storage or SD Card tab, click on All tab.
- Press hardware Menu button and select Sort by Size.
- Tap on each app that is taking significant amount of space and tap Move to SD card button. Press hardware Back button and repeat.
- (optional) To change the default installation location for new apps back to the internal phone memory, go back to your terminal window and type:
- pm setInstallLocation 0
- (important) Go to Settings -> Applications -> Development and disable USB debugging. Leaving USB debugging enabled makes your phone vulnerable (e.g. lock pattern can be reset).
- Enjoy!
Share your experience (optional, but greatly appreciated)
To help fellow Android users know whether this procedure will work on their phone, please submit this form (link: Google Forms) indicating whether it worked for you or not. Once sufficient number of responses is submitted, I will update this post with the results.
Troubleshooting
- “Device not found” error in step 7. Make sure that the phone is connected and is in the USB debugging mode (step 4). On Windows, this error can also mean the driver is not installed properly. Double check that you followed USB driver for Windows steps. If you still are getting this error, try installing a driver for your manufacturer from this link: Tether “ADB” Driver Installation for Windows.
- “Permission denied” error: make sure that you correctly typed commands.
FAQ
- Q: Does my phone need to be rooted for this hack to work?
- A: No.
- Q: Do I need to setup a full development environment (Java, Eclipse) for this to work?
- A: No.
- Q: Can I move systems apps such as Maps, Youtube, Adobe Flash Player to SD card?
- A: On unrooted phone using stock firmware, no.
- Q: I don’t have time for this hack. How can I check which of my installed apps officially support moving to SD card?
- Install “App 2 SD” application from Android Market and it will list applications for which developers enabled apps2sd support.
- Q: Can I move all apps to SD card in one operation?
- A: Using stock firmware, no. If you know a way to do so, please let me know in the comments.
- Q: Can I delete bloatware apps installed as “system apps” by the carriers?
- Yes, but only if you root your device. With a rooted phone you could delete unused system apps, but it gets a bit complicated. Deleting some apps may cause problems with subsequent OS updates, so you should be careful. See this list for Android system apps can be safely removed. Instead of deleting, you can “freeze” unused system apps using Titanium Backup. Freezing an app will remove it from the app drawer and memory and will make sure it is never launched, but it will not free any space in the internal phone storage.
- Q: Can I move system apps such as Gmail, Google Maps to SD card on a rooted phone?
- A: Thanks to Dominique Tardif for this tip: “You have first to uninstall any updates to the system apps in question. Second, using a rooted file manager, delete the original apk from /system/app (android keeps the system app apart from the updates, the latter being at /data/apps). Once this is done, reboot and reinstall the app from the market. It will be installed as a user app and as such will be movable to the sd card. As an example, my gmail, facebook, maps etc. are all on my sd card now.”
- Q: Can I move system apps to SD card if I’m using a custom ROM?
- A: Yes. The most popular “aftermarket” Android firmware CyanogenMod puts the absolute minimum of the apps in the system folder. CyanogenMod 7 also by default enables the hack described in this post to allow most apps to be movable to SD card. As a result, many Android apps such as Maps, Youtube, Gmail can be moved to SD card on CyanogenMod 7, while they are unmovable to SD in the stock firmware. Note that to install CyanogenMod the phone doesn’t need to be rooted, but bootloader needs to be unlocked.
Source: XDA-developers.
Related posts





Twitter
RSS
GooglePlus
1035 Comments
my pc cannot detect my phone. when i typed “adb devices” there’s no items displayed. please help
I have the same issue as you. I downloaded the updated drivers directly from my device’s website, but the command still yields no device connected. Did anyone respond to you?
find your phone in device and printer,if there is a need of troubleshoot,then do that.it will install the driver of your phone.after that retry this process.
This worked Great! thank you!
Dear Sir
please guide me as i m very week by dos knowledge. as i type cmd the window prompt showing c:\documents and settings\abd>:
onward i tried a lot by showing commands and instruction but i didn’t get it.
please help me from very first. required drives and app software i already downloaded.
Thanks & Regards
Prashant Pawar
Use – cd (space) dir – option in command prompt, it will provide list of all files. steps:-
1) cd C:\
2) cd program files\
3) cd android\
4) cd android-sdk\
anyone with an ICS os found it working?
I successfully changed the install location as instructed but reinstalling the apps still won’t go to my external sd card..help us too!
Same here! Got all the command prompts to work, detected the phone, none of my downloaded (not factory installed) apps will move to SD card!
HA just tried the command prompts again. WORKS LIKE A CHARM! You are a god sent. I can now start loving my Evo again.
Happy day!
ths threath is only for FROYO… thsi is why most probably is not working…
even on my lg l7 ice cream sandwich it didnt work.. all the commands were executed … but the apps keep installing in the internal storage .. please help
I have the same issue as Red. I downloaded the updated drivers directly from my device’s website, but the command still yields no device connected. Anyone that can help?
I was ready to throw my phone out of the window before I read this post. Even in 2012, the problem persists, and this is still useful. Thanks so much!!!
Hi.
I have done everything as i should but i doesn’t seem to work. I have a Samsung Galaxy S3 with the newest android.
Thanks
sir, how to download USB driver for windows 7 of 32 bites???? plz help me!
This is pure genius. Worked like a charm, brilliant!
Can i use the commands to my android 2.1 phone??
Please reply me i want to xtend my rom space
THANKYOU!!!!! You just made my day!
no luck on galaxy ace plus
1 Million Thanks
Only for you
Great work , Good guide
Thank you very very much again
when i type pm set installlocation 2.
it gives me three options ,that are
0 [auto] : let the system decide
1 [internal]: install in internal device storage
2[external]:install on external media
then i choose 2 [external] but it tells me permission denied
so plzz tell me what to do.
Im having the same problem, did you ever figure it out?
Please connect mobile as USB storage device. Once connected then complete action mentioned in command prompt. Mobile will reconnect as usb automatically.
Thank you very much. Because of Facebook and the GPS I had no more memory. So, every time I had to make an update it didn’t work. Thanks to you I have no more troubles.
Thank you again !
I completed the procedures successfully, but still the apps installed are taking up space on my 1 GB internal memory, even though i have 16 GB SD card. Please help me.
you know if this commands are compatible with Samsung Y pro GT-B5510L with android 2.3.6??
thanks for your advice
Hey thankzzzzzzzzzzz it really works
It is simply the best way… I loved it..I never though that it would work but it actually did. I am so happy..THANK YOU very much!
Thank you!!
It works perfectly on SAMSUNG GALAXY MINI with Android 2.3.6
worked for me! thanks!!!!!
everything I’ve got with all this extensive and complicated work, for which I had to install several applications on my PC … Android SDK, Java 32bit (Win7 x64′s Previously installed Java, was not enough), specific Samsung ADB driver, etc. … is nothing elsa than what I can do with the Force2SD app.
as far as I’m concerned, did not get any extra benefit by this method for my Samsung Galaxy Ace S5830 (Android 2.3 clean, rooted ROM.-
Thanks for the efforts, anyway =)
It worked like a charm. I didn’t want to root my phone, but this hack enabled me to move most of the big system apps which were creating big space problems. THANK YOU!
Thanks a lot dude, it worked on my HTC Explorer
This method just adds App2Sd functionality to all the apps.However significant portion of apps still remains in phone memory.It can help in saving only small amount of internal memory.
Q: Is this only to see which apps r movable to SD or not ?
Q: Is this same as App2sd app?
I have a mac and unfortunately, I am struggling with typing in the correct path for step 6. What do I write?
i did everything and it shows me that the app is installed to the sd cart but the internal phone storage is decreased :/ please help !!
LG Optimus S. Command setInstallLocation 2 gets me a [1] Killed response. Any fixes here? I’ve seen this posted several times with no response. Thanks in advance.
I get the same error, Kirk. I am also using the LG Optimus S. I’ve spent a lot of time looking for an anwer and still haven’t found one.
Same thing with me. LG Optimus S. I get the [1] Killed.
same here… optimus slider. getting the “killed” response. >_>
thank you very much, this worked……
Worked like a charm! Thanks for this article!
Was very helpful. Thanks.
(Just please change the “unzipping” thing in step 2. It confused me as it no longer exists.)
Great Job !
so many thanks for the tip, Sergey. just awesome.
for anyone who is having trouble, start here
https://www.youtube.com/watch?v=T7I3PSor7U0
and read this
http://macapper.com/2007/03/08/the-terminal-an-introduction/
if you’re having problems on the last step, try the old command like the instructions say so!!
this hasn’t allowed me to move any or install apps to my SD card that I couldn’t already move/install on there
okay, figured it out (or at least for me) After completing the “pm set-install-location 2 ” step and the $ shows up, you don’t need to type exit, simply close the CMD window, disconnect your phone and reboot it. Once powered back up, it should be working.
i have done every thing,but i am not able to move apps.i am using sony xperia neo L(4.0.4).please help
It worked ! thanks a bunch
Thanks it worked after a few efforts on my HTC Salsa
Hey man !! Installing the SDK requires me to download Java SE Development Kit 7. However after downloading it and installing this Java kit the SDK installer still does not find it !! What to do??
Device Not found error

unable to install DRIVERS via Device manager
i hv Spice Stellar Craze MI355 , an Andriod 2.3.6 phone
it has a CD with it
it has 3 folders in it , they are
1) adb_driver
2) HK11-VB717-27
3) tether
———-
on Device manager, under ADB Interface it says Unkown Device with an exclamation mark in Yellow triangle
how to install the drivers for it?
nd when i select that adb_driver folder for updating driver from device manager it says that the driver is uptodate
waht to do gusy plz help me
I’m a NEWBIE :’(
android user belongs to bhopal city.contact me to move your apps by using CMD.
abhay kumar: 8817317306
Works great, thank you
Just for my personnal knowledge, how can we set it back to original install destination settings please?
I have successfully done everything..but nothing ever changes with the phone..still get the gray out to move to sd card…I have the samsung sch-m828c model android version 2.2.2…any suggestions would help..
I can not navigate to folder adb can you please help?
Hi, I just transferred most of my games to my sd card. and then I updated my phone though RUU, so all of my stuff on the phone was wiped out. and then after that I reinstalled all the apps on my phone. Games like temple run and cut the rope still retained their progress, but the progress of my angry birds and smurf village is totally lost!!! So, what did I actually transfer to my SD card??
Is there any way for me to restore my progress?? Thanks in advance.
Thanks…it worked.
I want to move my apps to the 32 gb sd card in my lg optimus l7 to preserve the tiny 2gb of internal memory (really lg, what were you thinking…).
I tried downloading the app2sd program but it gave me the error “The device does not have a real primary external storage, or the primary external storage is emulated”
There is no move to sdcard option in the apps menu.
Also tried changing default install location using this tutorial.
It didn’t work (i installed a new app and it went to internal sd/memory), so I reversed it back to normal.
The comp found my device and ran the commands, it just didn’t work.
Is there any workaround? I need more space for apps!
Please help!
BTW, any way to root firmware v10e yet?
Sorry for the ultra n00b factor…
Will this tweak/hack void the warranty?? I just bought the device yesterday!!
I know rooting voids the warranty!! doe this procedure also??
I have Spice Mi 425 with me
Thanks in advance for you response’
I did everything u asked but it didnt work
Hi thank you for this helpfull post. Just one comment, If you want to verify the Default Location has been indeed changed to SD Card, run the following command from the adb shell: pm getInstallLocation
Bellow the steps to get there:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
pm getInstallLocation
2[external]
$
Thanks again
update android apps installed to sd card
Worked great, thank you! My phone had been bugging me about a lack of space for a while now. It has a 32 Gb SD card -_-’
Two small notes:
I did this in Ubuntu Linux 12.04, and these things were different:
I had to seperately install platform-tools. I did this running “./android sdk” in /tools and then following the wizard.
In step 7, it says as after the command “adb shell” that you in linux/mac you need to use “./adb shell”. This is correct, but that also goes for the previous step, “adb devices” for which I used “./adb devices”.
how to download sdk zip file????
i did all the steps ! everything was going well but when i wrote’pm setInstallLocation 2′ it said ‘setInstallLocation’ is an unknown command
(((((((((((((((( HELP PLZZZZZZZZZZ
Thanks a lot. Worked great. Had some initial problem but that was because of some spelling mistakes from my part! Missed one capital ‘I’
Amazing post, a life saver for people with limited storage phones (I have a Galaxy Ace).
Thank a lot….
do i need usb driver to set the installation location by the above method…….my device is not listing
only device attached shows but no device list
what should i do….
hi, I have a samsung galaxy ace running on froyo. All the above commands have worked for me.
Most of the apps except the system built-in apps were able to move to sd card.
But now the problem is. In many apps which I want to install newly it gives an error ” Cannot install on usb or sd card”. I think this is because now the default location is sd card and many apps are not getting installed newly to sd card by default. Is there a way to change it. I have tried using the commant
” pm setInstallLocation 0″ to change the default memory back to phone memory. but still newly installed apps give the same error and do not get installed.
Is there any other way to do it. Kindly help.
thanx
I’ve done all this but I’m still unable to nice Facebook to my SD card, which I really need to as it takes up the most space
Thanks, will improve on comments later when. I get ajusted.
Just a simple note of thanks for this post, has help me out
still works like a charm. Thank you!
Will these work on my unrooted galaxy s3
Because the s3 doesnt support apps to sd
It says that my apps are on the SD card, but my internal memory decreases the same amount as the app that I am installing. Any one know what the deal is, or any explanation????
Thanks for the article. I tried this method on my Samsung Galaxy Y and could move all the apps excluding the factory ones to SD card.
However using ‘diskusage’ i can see the apps moved to sd are still using a bit of internal memory. It shows as Dalvik Cache. It also shows up system data which occupies 125 MB of internal storage. I keep getting memory low pop ups due to this. Is there a workaround for this?
I’ve installed all drivers but my device isn’t recognized. Anyone know what else I can try?
Samsung Galaxy Y Duos GT-S6102
Android ver: 2.3.6
Baseband: S6012DXLD3
Kernel: 2.6.35.7
Thanks!
I have did as u mentioned above
I could move fewer apps
cannot move Facebook which is taking most of the place in internal memory
can u help me over that
Thanks in advance
Hey, Thanks for this nice article. I was able to move certain apps to SD card. But unfortunately I am not getting how to move other app like Gmail, Maps and facebook to SD card. Kindly share your view and the way to achieve this.
Awaiting for your response.
nothing happnd in my sony xperia tipo
Please give provied the support to move the facebook and whatsapp “HTS desire s”
same method neeraj go step by step budy..you must download java envirment 1.5 or up and add envirment path in my comp/propties/visual setting /enviroment setting and add path of like C:sdk/platforms whetever in your system where u installd android sdk and now you done
you can move even wassup & Facebook to sd card how cool..
i downloaded the enviroment, and installed it, but i am not able to find that path, would you mind to help me ? i really want to move fb from the internal memory, thanks.
please help me with a step by step guide so i can accomplish my mission, thanks again
if u have windows 7 just type “sdk” in seatch box
it will show results
hover your mouse on 1st option an u will ge a path
otherwise in search window do the same
hey by using this, will I lost my warranty on mobile?
no budy it’simple tweak you will not void warranty do it..
Dear Ankit
Got the instructions very well and Followed but stuck at Step 3. While Writing in CMD, “adb shell’ it returns: “Error: More than one Device and Emulator”
In fact there are 2 devices listed when i run adb Devices
BX9037MVLZ device
emulator-5554 device
Please tell how to overcome this…
I am trying to do all this with Xperia Pico Dual ST21i2 i.e. with Android V 4.0.4
34 Trackbacks