If you are crazy about apps and need all the coolest apps on your android device but there is one problem, your device has little internal memory space that you can barely install few of your favorite apps to app 2 sd card.

This problem is faced by most of Android users and there are some solution like either you can delete your existing apps to install new ones or set the install location of the apps to move apps to sd card or app2sd card.

How to Move Apps to SD card

To move an app to the SD card, open the Settings screen, tap Applications, and select Manage Applications. Select the app you want to move and tap the move apps to sd card button on its details screen.

Also See : How to Backup and Restore WhatsApp Chat, Media using Google Drive 

move to sd card

How To Install Apps Onto Your SD Card

By default, Android apps install to the internal storage but you can set the SD card as your default install location. This trick allows you to move apps to sd card without rooting your Android device.  

Recommended : Best Methods to Mirror Android Screen to PC or TV (No Root)

Here’s what you will need to install Android Apps to SD card by default.  Android 2.2 or later, you need to use ADB or Android Debug Bridge, Utility included Google’s Android SDK.

1. Enable USB Debugging : To enable USB debugging, open the settings screen, tap applications, tick the option allow installation from unknown sources and select Development. Tap the USB Debugging checkbox to enable it. 

usb debugging

This allows you to change the settings on your Android device from your computer. 

Also See : Best Android Apps to Backup and Restore Data

2. Install the Android SDK :  You’ll need to download and install Google’s Android SDK on your computer.  If you don’t already have Oracle’s Java JDK installed on your computer, you have to download and install it from here.

After installing both Oracle’s Java JDK and Google’s Android SDK, launch the SDK manager from your start menu.

Android sdk manager

Now connect your Android device to your computer with USB cable. Windows should locate the device and install the appropriate drivers automatically. If it doesn’t, you may have to download and install the appropriate drivers from your Android device’s manufacturer. Do not mount the device after connecting it – just plug it in.

Also See : How to Install Android on PC or Laptop

3. Using ADB : The ADB utility is included in the Android SDK Platform-tools package, select the package and click the install button to download and install it. 

Open a Windows Explorer window and navigate to the android-sdkplatform-tools folder. On Windows, you’ll find this folder at C:Program Files (x86)Androidandroid-sdkplatform-tools by default. Check C:Program FilesAndroidandroid-sdkplatform-tools if you’re using a 32-bit version of Windows.

Recommended : Complete Guide for Wi-Fi Sense in Windows 10

Launch a Command Prompt window in this folder by pressing and holding the Shift button, right-clicking in the folder, and selecting Open command window here.

adb command


Run the adb devices command and you should see your connected Android device.

Run the following command to set the default install location to your SD card:

adb shell pm setInstallLocation 2

                   How to Manage Apps Permission on Android Mobile or Tablets

If you want to revert this change later and install apps to the internal storage by default, run this command:
adb shell pm setInstallLocation 0
0 represents your device’s internal storage, and is the default. 2 represents the external storage, whether it’s an SD card or USB storage.
If you like the article “how to move apps to sd card”, don’t forget to share with friends via any social network like Facebook, Twitter, Reddit and StumbleUpon etc.








About the author

Michal Flip is a Tech Lover and founder of Digital Adda, a popular how-to tech guides and software tutorials. Sign-up for the email newsletter for your daily dose of tech tips & tutorials.


  1. franklin46 says:

    I can get to open the Command window but ‘run the abd devices command’ ? please explain.

  2. franklin46 says:

    I have resolved my problem.

  3. sari says:

    C:\Users\sara\AppData\Local\Android\sdk\platform-tools>adb devices
    List of devices attached
    F8AZCY020973 unauthorized

    C:\Users\sara\AppData\Local\Android\sdk\platform-tools>adb shell pm setInstallLo
    cation 2
    error: device unauthorized.
    This adb server’s $ADB_VENDOR_KEYS is not set
    Try ‘adb kill-server’ if that seems wrong.
    Otherwise check for a confirmation dialog on your device.

    thank you so much for your help.!!!!!!!!!

    alas,the last command failed.
    is there any solution?
    Thanks in advance

  4. sari says:

    Sorry, now it is authorizad, but
    C:\Users\sara\AppData\Local\Android\sdk\platform-tools>adb devices
    List of devices attached
    F8AZCY020973 device

    C:\Users\sara\AppData\Local\Android\sdk\platform-tools>adb shell pm setInstallLo
    cation 2
    Error: unknown command ‘setInstallLocation’
    usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [–user USER_ID] [FIL
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]


  5. sari says:

    could you help me please?

    i got no answer for my question.

    C:\Users\sara\AppData\Local\Android\sdk\platform-tools>adb shell pm setInstallLo
    cation 2
    Error: unknown command ‘setInstallLocation’
    usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [–user USER_ID] [FIL
    pm list permission-groups
    pm list permissions [-g] [-f] [-d] [-u] [GROUP]
    pm list instrumentation [-f] [TARGET-PACKAGE]
    pm list features
    pm list libraries
    pm list users
    pm path PACKAGE
    pm dump PACKAGE
    pm install [-lrtsfd] [-i PACKAGE] [PATH]
    pm install-create [-lrtsfdp] [-i PACKAGE] [-S BYTES]
    pm install-write [-S BYTES] SESSION_ID SPLIT_NAME [PATH]
    pm install-commit SESSION_ID
    pm install-abandon SESSION_ID
    pm uninstall [-k] [–user USER_ID] PACKAGE
    pm set-installer PACKAGE INSTALLER
    pm clear [–user USER_ID] PACKAGE
    pm enable [–user USER_ID] PACKAGE_OR_COMPONENT
    pm disable [–user USER_ID] PACKAGE_OR_COMPONENT
    pm disable-user [–user USER_ID] PACKAGE_OR_COMPONENT
    pm disable-until-used [–user USER_ID] PACKAGE_OR_COMPONENT
    pm hide [–user USER_ID] PACKAGE_OR_COMPONENT
    pm unhide [–user USER_ID] PACKAGE_OR_COMPONENT
    pm set-install-location [0/auto] [1/internal] [2/external]
    pm get-install-location
    pm set-permission-enforced PERMISSION [true|false]
    pm trim-caches DESIRED_FREE_SPACE
    pm create-user [–profileOf USER_ID] [–managed] USER_NAME
    pm remove-user USER_ID

  6. aseel says:

    could you please explain how i “run the abd devices command”? i connect my phone but after i enter the change of location command i get “error: no devices/emulators found”

    • aseel says:

      in Android\android-sdk\platform-tools i see a “adb” application, but when i open it i see a command prompt flash in front of me for a fraction of a second only to disappear right after. thoughts?

  7. Ian Mathews says:

    You people really agitate me, can you not read or something? It clearly say “pm set-install-location” in list of commands.

  8. Nuhash says:

    I could not find my devices in command promopt….. pls help… I have installed my driver… already….

  9. aseel says:

    If you could read you would have been able to see that I had entered that command, but my problem was that my phone was not showing as connected somehow. Under Computer I see C:, D:, and Galaxy S4, but when I enter the command I get an error message saying that no device is connected.

  10. Ben Jewell says:

    I get a permision error. I think you still need root to change it.

  11. SOMNATH MONDAL says:

    C:\Android\sdk\platform-tools>adb shell pm set-install-location 2
    Error: java.lang.SecurityException: Package android does not belong to 2000

    how to fix it

  12. Eppo says:

    your step-by-step tutorial is great. And after some fixation (no äöü.. in installation folder name) and the right adb driver for my phone (lenovo a660 android 4.0.4) i got the sdk to work.
    “adb devices” -> found phone;
    “adb shell pm set-install-location 2” runs without any kind of message;

    But nothing changed in my phones settings, i can’t neither change settings to SD-Card nor new apps are installed on SD-Card.
    There are only 3 options in the settings: “safe on phone”, “safe internal memory” and “let phone decide”

    Maybe someone can help me, because the internal memory of 2GB at my phone isn’t that much.

  13. Scottie says:

    So this guide does not help after all. Or at least change the title to ROOT from NO ROOT

  14. David says:

    HI I run the adb devices and the set new install location just fine but then I get this error
    C:\Users\JamesBond\AppData\Local\Android\sdk\platform-tools>adb shell pm set-install-location 2
    Error: java.lang.SecurityException: Package android does not belong to 2000

    • Brock Hankins says:

      I have the same problem, Error: java.lang.SecurityException: Package android does not belong to 2000

      How do I fix this?

      • After “adb devices” just type “adb shell” (enter) then type “su” (enter and accept on the phone display), This enables SuperUser. Now you can type “pm set-install-location 2” Verify the new destination with “pm get-install-location”

        • Allwell says:

          I tried typing “su” but it didn’t work for me it showed

          /system/bin/sh: su: not found

          Please what should i do?

          • just mount/system partition manually

            Go to mount and storage > mount system > mount /efs in your mobile phone.

          • Allwell says:

            I don’t quite understand. I use a Samsung Galaxy S4. How do i use the request?

          • Artur Costa says:

            I don’t understand your explanation. How can you install the su without rooting your phone, so you can avoid that auhorization error when you try to change the default instalation location ?

          • Allwell says:

            Thank you so much. I hadn’t rooted my phone yet. And in all honesty i had no understanding of ‘rooting’. But after i enquired for my knowledge on the subject in understood it. After rooting my Android device, i installed SuperSU (a superuser app from the Google Play Store). I typed ‘su’ and followed through the instructed process, as you rightly asked me to do initially; and it worked. So thank you.

  15. This guy really needs to learn to use the hyphens when they are included in the command. There were a lot of hyphens I found out I had to put in as a result of this guide failing to add them where necessary.

  16. muggins says:

    caution, clicking move to sd in the app settings does not move app data to sd card. it only moves app cache and executable. a 1gb game like kingdom hearts unchained x will still reserve its 1gb share in internal mem. a root and sdk procedure is required to tell android os that the external sd card is a new app data location.

  17. naruto says:

    ya. thanks but can you show as how to do that on android motorola version 5.1

  18. Ben Cheever says:

    setting install location requires different syntax that what is in the article here. FYI. I had to use the help command but it should be:

    adb shell pm set-install-location 2

    at least using adb on a Mac:

    adb version
    Android Debug Bridge version 1.0.32

  19. Juliana Ameyaw says:

    This tablet thus not aloud me to download apps to the SD card

  20. Dragos says:

    Author can you respond us ??? I get the error no devices/emulators found when i

  21. Pat says:

    I have an Asus Zenfone 6 mobile with Android 5.
    Above mentioned steps don’t seem to be relevant to Android 5 version. Could you inform steps specific to this.
    Many thanks.

  22. Lexi Markell says:

    Do you have instructions for MAC users instead of PC? Thanks!

  23. Jalal says:

    adb devices
    adb shell pm set-install-location 2
    adb shell pm get-install-location

  24. John Mark says:

    this system work for huawei p9 lite?

  25. BigDee says:

    The proper syntax for the command is:

    adb shell pm set-install-location 2

  26. Manisha Patil says:


  27. Rakesh k says:

    Stuck logo Samsung after the rooting and not able to get the downloading mode.Will also try apply update from Adb its showing device not connected.kindly suggest me how to recover my android os i think so some boot file damage.

  28. NH says:

    This allows me to move most of my apps to my SD card, but now I can’t install small apps. Error:Insufficient storage available
    I already tried clearing my cache, and I have 451 MB of internal storage remaining.
    How do I fix this?

  29. A.Irene says:

    my sd card is already mounted & followed the steps above & device is found. I typed “adb shell” pressed enter, typed “su” & got error /system/bin/sh: su: not found. What are the next steps? I’m using a galaxy note 4 & device is not rooted

  30. yami says:

    is this still working on android 6.0.1?

  31. Stéphane Beaulieu says:

    When i enter adb devices in the command Window, it doesn’t detect my device at all.

Leave a reply

Leave a Reply