How to move almost all Android apps to SD card (no root required)

[Update – May 2013] To see whether this procedure may work on your phone, check out the new 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.

  1. 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.
  2. After downloading the archive of the SDK, unzip it to any folder and remember its location (let’s call this folder <sdk>).
  3. If you are installing Android SDK on Windows machine, you also need to install USB driver as described in USB driver for Windows section.
  4. Connect the phone using USB cable and do not enable USB storage mode. Go to Settings -> Applications -> Development and enable USB debugging.
  5. Start terminal window on your computer (on Windows: click Start, type “cmd” and press Enter).
  6. 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).
  7. Type the following lines (case sensitive) 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

      Command prompt commands on Windows

  8. 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.
    • Android USB storage tab

  9. Press hardware Menu button and select Sort by Size.
  10. Tap on each app that is taking significant amount of space and tap Move to SD card button. Press hardware Back button and repeat.
  11. (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
  12. (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).
  13. Enjoy!
Moving Android Adobe Flash player 10.1 to SD card (apps2sd)

Moving Android Adobe Flash player 10.1 to SD card (apps2sd)

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

0saves
If you enjoyed this post, you can subscribe to the RSS feed or follow via Twitter and Facebook.
This entry was posted in Android, Apps, CyanogenMod, FroYo, Gingerbread, How To. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

45 Comments

  1. Cat Quiambao
    Posted August 17, 2014 at 8:22 am | Permalink

    got it to work on my samsung galaxy duos (s6102)… thanks!

  2. ibti
    Posted August 23, 2014 at 7:05 am | Permalink

    it doesn’t work , when i want to move app to sd card , the phone turns off , i need your help , thanks .
    ( HTC explorer )

  3. CzaR Cortes
    Posted August 26, 2014 at 5:15 am | Permalink

    You the man! You make tons of people happy! Appreciate the effort! \m/

  4. Reza
    Posted August 30, 2014 at 5:45 am | Permalink

    hi , thanks , but the MOVE TO SD CRAD is disable yet . i have an xperia C with 4.2.2. . the internal storage is low help me if you can

  5. sohail
    Posted October 7, 2014 at 9:30 am | Permalink

    will it work on micromax canvas a116?

  6. Posted October 19, 2014 at 2:43 am | Permalink

    ma device memory gets full fast but i got a memory card en can’t move apps to sd

  7. Chuck
    Posted October 23, 2014 at 7:36 am | Permalink

    I can’t get past navigating to the “adb” folder in step 6. It keeps telling me “specified path not found”
    I typed in the exact path in the screenshot at the bottom. Is this not a valid path to the folder?

  8. Chelsie
    Posted November 21, 2014 at 8:45 pm | Permalink

    Worked on the lgd320

  9. John Why
    Posted November 25, 2014 at 10:35 am | Permalink

    for alcatel OneTouch, you must download and install the Alcatel USB driver. Use the link below

    http://www.alcatelonetouch.com/global-en/support/faq/usbdriver.html

    click “Q1Where can I download the Android USB Driver?”

    the MTK version worked for me, on a OneTouch running Android 4.1.2

  10. John Why
    Posted November 25, 2014 at 10:38 am | Permalink

    Question:

    Will data get moved to SD card too? Should i tap “clear data” before tapping “move to SD card”?

    thx

    (plz add to FAQ)

    • John Why
      Posted November 25, 2014 at 10:41 am | Permalink

      if i do NOT clear data before moving to SD, will that leave data behind on the internal RAM? I wonder if, in some cases, that might take up more room than the app.

    • John Why
      Posted November 25, 2014 at 10:55 am | Permalink

      based on my casual observation of data size in the app info screen, while moving apps between phone and SD, it looks like the data IS left behind.

      Meaning, people who are moving their apps to SD are not freeing up as much internal memory as they COULD.

      it might be wise to do the following:

      1. move to sd. It looks like that DOES COPY the data to SD.
      2. move BACK to phone (that leaves copy of data on SD).
      3. Clear data (frees RAM on phone).
      4. Move to SD again. That reconnects the app to the data on the SD.

      This is just a guess– need someone to verify.

  11. John Why
    Posted November 25, 2014 at 10:46 am | Permalink

    will common android cache cleaners on google Play store clear SD AND internal RAM?
    thx

    • Johny Why
      Posted November 25, 2014 at 11:33 am | Permalink

      Sadly, it appears at least some apps might store their DATA on the phone, even after you move the app to SD.

      Here’s how i tested this:

      0. Use app when installed on phone, to generate some data on the phone.
      1. move app to sd.
      2. Use the app, to generate some data on SD.
      3. move app BACK to phone. You’ll notice data sizes change.
      4. Clear data (frees RAM on phone).
      5. Move to SD again. SD data appears smaller (did “clear data” with app on phone also clear app data on SD too?)
      6. launch app. You previous session data is gone.

      This is just a guess– need someone to verify.

  12. Johny Why
    Posted November 29, 2014 at 12:56 pm | Permalink

    Typo:
    Step 11 should say:

    pm set-install-location 0

  13. James D
    Posted November 29, 2014 at 2:33 pm | Permalink

    Wonderful article, still mostly relevant several years later. I only want to add that this allowed me to move several more apps to the SD card. There are still a few, including the big hog facebook, that refuse to budge.

  14. deepak maurya
    Posted December 1, 2014 at 6:38 pm | Permalink

    when i rum “adb devices” command it says *daemon not running. it now on port 5037 *
    * daemon started successfully *
    list of devices attached
    but not sow any device what can it do. I have a karbonn a5i android 2.3 smartphone. please help me.
    when i try to install usb drivers windows says it already up to date.

  15. kk gan
    Posted December 4, 2014 at 9:21 am | Permalink

    Hi Sir/madam,

    Will this work with window 8?
    My model was samsung GT-S5830i.

    i had download
    1. installer_r23.0.2-windows
    2.latest_usb_driver_windows

    I am unable to proceed with installation both software as above.
    Please advise.

    Thanks,

    Regards,
    KK GAN

  16. veerendra naik nenavath
    Posted December 10, 2014 at 10:50 am | Permalink

    my phone is samsung galaxy s duos 3.downloading items are not store into secondary memory.please give reason to solve this problem.thanks

  17. Posted December 11, 2014 at 5:55 am | Permalink

    Thanks Bongizmo, it worked on my Alcatel one touch 918

    http://my-techie-guy.blogspot.com/2014/12/move-android-apps-from-phone-internal.html

    Good job

  18. Tatd
    Posted December 19, 2014 at 5:18 am | Permalink

    Still shows ‘device note found’ .
    Did everything in the troubleshooting guide…Doesnt work.
    I am using Dell venue 7 3740. HELP!!!

  19. Tony
    Posted December 20, 2014 at 5:33 am | Permalink

    Even after making eternal as default nope all the apps immovable, especially all google apps like Chrome, google+, etc.

  20. Tony
    Posted December 20, 2014 at 5:35 am | Permalink

    I am using Samsung Galaxy S Duos 2 with 4.2.

  21. Anuja
    Posted January 8, 2015 at 5:29 am | Permalink

    i have samsung galaxy young. after following all the procedures mentioned above when i go to app info, in the storage section I dont see a button “Move to SD card”

  22. Posted January 12, 2015 at 7:07 am | Permalink

    Now you can move your whatsapp pictures,video,audio to SD or memory card using the chat media manager app https://play.google.com/store/apps/details?id=prd.cmm.dipinkprakash.wcmmanager

  23. Posted January 22, 2015 at 1:38 am | Permalink

    Hello friends, I like this post. Thanks for posting this wonderful article here. I will visit this blog for more new posts.

  24. Sathish
    Posted January 24, 2015 at 9:31 am | Permalink

    Thanks. Got it working on my HTC Wildfire.

  25. Keps
    Posted March 2, 2015 at 9:45 pm | Permalink

    When moving the app to SD card, my phone always reboot after a few seconds, it cannot process.

  26. Bhupendra
    Posted March 21, 2015 at 2:01 am | Permalink

    i am having xioni M1 (Redmi) phone i am unable to transfer my files to SD Card is any one can suggest me solution.

  27. Posted March 29, 2015 at 12:03 pm | Permalink

    Hello my brother!! You saved me!!

    I had this cellphone for YEARS (samsung ace) and my girlfriend just lost her phone so I wanted to give this Samsung Ace to her… But what use is it if you can’t install anything in it??

    Well you saved us =))
    After a couple hours trying this and that, we finally found your tutorial and it worked like a charm !! ^^

    Thanks bro! Amazing website!! And we did submit to the list 😀

  28. Aditya
    Posted May 8, 2015 at 12:13 pm | Permalink

    Which is the root folderin sdcard in samsung galaxy core GT-I8262?

  29. Sushant Gurav.
    Posted July 30, 2015 at 12:22 am | Permalink

    need ur help asap…plz do reply …im using htc desire 620g…does this process works for my phone without rooting…is it possible…i dont wanna root my phone coz it will lose warranty of my phone…

  30. Sarvesh
    Posted August 2, 2015 at 3:58 am | Permalink

    i am using htc 310 dual sim, with jelly bin support. After location command I dont have usb storage tab as mentioned in step 8. please help me for this

  31. Sarvesh
    Posted August 2, 2015 at 4:05 am | Permalink

    i am using htc 310 with jelly bin, but i did not get step 8 in which the usb storage is mention,

  32. Sarvesh
    Posted August 2, 2015 at 4:21 am | Permalink

    i have done all this but its not working. I have 9 GB of space free in sd card but it is saying that space is not available. also i cant transfer apps to sd card. I am using HTC 310 with jelly bin

  33. raphael
    Posted August 7, 2015 at 2:26 am | Permalink

    hi, i find it very difficult to change the default location of my htc chacha

  34. Sankar
    Posted August 30, 2015 at 10:29 pm | Permalink

    Sir,

    I am using Samsung GT-s5830i (2011 model), Android -2.3.6 version I am unable to move my phone internal storage to SD Card. Move to SD option is not in active mode.

    Is this possible in my mobile to do the same? Please help me on this problem.

    thanks!

  35. Darshan
    Posted September 18, 2015 at 2:08 am | Permalink

    Yes it works for my mobile (Samsung galaxy y s gt-5360).
    Thanks a lot for your help.

  36. mdfksdf
    Posted September 25, 2015 at 11:32 pm | Permalink

    whenever i go and put in the command:pm set-install-location 2 or the other one, it says that pm isn’t a known command or whatever, and when i do adb devices it says devices listed or whatever it says and then doesn’t have any devices listed. I have a htc desire from 2010, operating on FroYo if that helps.

    • Lia
      Posted November 16, 2015 at 5:10 am | Permalink

      Had the same problem on win7 with that command, the alternative worked. Did You type in the command as it was written? Those are case-sensitive!

      Is the usb debugging feature allowed? Did you have “internet connection only” connection type (that is what I used on my wildfire S)?

  37. Lia
    Posted November 16, 2015 at 5:04 am | Permalink

    Thank You so much for this very helpful tutorial! My original problem was that I could not install whatsapp on wildfire S (running on android version 2.3), sdk tool did the trick!
    Now I have 67MB free space after the entire procedure. Moved google play services to SD, AND whatsapp got installed to SD card (never could do that before and was quite a pleasant surprise for me) AND whatsapp works on SD card. Now Mum can use it again=).
    I had to remove google play services before to make whatsapp work (memory problems) but it disabled gmail, now that is not the case, updated gmail works too.
    Truth be told, the only bump I had in the process was that at the beginning I got confused “which” sdk tool to download (downloaded entire “android studio” by mistake at first instead of “sdk tool only”, no surprise why i could not find the adb file where it was supposed to be).

  38. Sayemon
    Posted December 2, 2015 at 1:58 pm | Permalink

    In my galaxy grand duos,,move to sd card tab is absent,, what can i do??
    Thanks in advance. :)

  39. Ghazi
    Posted March 15, 2016 at 10:22 am | Permalink

    Hi,
    I have the error “open: permission denied” wher I execute the command “pm set-install-location 2”.
    Please help.
    Thanks

  40. Posted July 8, 2016 at 5:44 am | Permalink

    Thank you for this. Good stuff. I’ve got a Samsung Galaxy Y – before I owned it, its been upgraded to Android 4.1.2 so I’m guessing this work around would be different for my phone? I’ve not found any apps that offers the move to SD card. well not yet anyway. Can you advise me on a work-around I need please? if there is one?
    Many thanks
    Rufus

Post a Comment

Your email is never published nor shared. 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=""> <s> <strike> <strong>