There are hundreds of articles and many SE QA's about moving apps to an external SD card.

Some of the articles and QA's are outdated, some are incorrect, some require the device to be rooted, some require additional partitions to be created, and some require specific apps that cost money or include ads.

I stumbled on this article, which described a technique that seems unbelievably simple: http://www.howtogeek.com/114667/how-to-install-android-apps-to-the-sd-card-by-default-move-almost-any-app-to-the-sd-card/

The crux of the article can be summarized in a concise manner. It states that the key is running this simple adb command:

adb shell pm setInstallLocation 2

This technique is free (gratis), ad free, and requires no extra software or partitions on the Android device.

But does it work? Is it reliable?

  • I'd say it works as long as the manufacturer didn't disable it. For sure doesn't work for all apps (only those supporting App2SD). It triggers a feature of Android itself – but if the ROM-cook disabled App2SD support, I doubt it will work. Not tested, though. – Izzy Feb 16 '16 at 8:07
  • @Izzy Thanks. I thought the technique described specifically is supposed to work for apps that aren't designed to be moved to an SD card. The example they use is Slacker Radio, which I don't think has the appropriate flag to be moved to a SD card, hence requiring the technique described. – RockPaperLizard Feb 16 '16 at 9:11
  • Nope. setInstallLocation is described in the dev docu to only work if the app permits so in its Manifest. Also see: Installing to SDCard by default. – Izzy Feb 16 '16 at 10:08
  • @Izzy Hmmm... I'm trying to understand their example. They show an app that was unable to be moved, and now suddenly can be moved after running this single command. What would make an app unable to be moved before running this command, but able to be moved after running it? – RockPaperLizard Feb 16 '16 at 10:20
  • 1
    The article you linked to was published in May 2012. KitKat wasn't even in development at that time. Anyhow, I followed the tutorial on my Android 4.4.2. I later installed multiple apps. All of them went straight into internal storage. I then located an app which had android:installLocation="2" in its manifest. Thankfully, it was Aldiko app v3.0.13. I installed it and it also didn't install into external SD card. // That is enough for me to conclude that the command-line method is not a sure-shot one. // I'm yet to test with an app having android:installLocation="preferExternal". – Firelord Feb 19 '16 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.