I just got a ZTE Midnight literally today and when I tried to download some of my favorite apps, it told me the memory was full. So I went in to see what was on my internal memory, and its already full from the apps the phone comes with, aka, apps that I can't delete. So I tried to set my default download location to my SDcard and after a completely failed attempt at googling how to do it, I decided to try asking about it on here. If somebody could give me a hand with this and possibly save me from breaking said brand new phone, that would be amazing. Thank you.


You may want to root your phone to debloat it so you can delete all the unwanted system apps on your phone. Ask for this if the following does not help you.

This might answer your question: from Installing to SDCard by default.

This article at HowtoGeek describes a possible way utilizing the :

  • enable USB debugging
  • connect your device to your computer
  • execute the command adb shell pm setInstallLocation 2
    (or, new syntax, adb shell pm set-install-location 2)
  • disconnect, done.

This command will set the devices default installation target to your SDCard. That doesn't necessarily mean everything gets installed there: only apps supporting this will go there, and devs can "overrule" this in their apps manifest if they think it's needed. From the linked API reference:

Changes the default install location. Location values:

  • 0: Auto—Let system decide the best location.
  • 1: Internal—install on internal device storage.
  • 2: External—install on external media.

Note: This is only intended for debugging; using this can cause applications to break and other undesireable behavior.

For more details on ADB, and how you can e.g. get a minimal version of it to your computer (without the overkill of installing the entire SDK), you can take a look at the tag-wiki.

Some clearance on the installation process:

  1. you find some app on and decide to install it
  2. after you've clicked "install" and agreed on terms/permissions, the is downloaded to /data/local, i.e. to your . You can't change that.
  3. when the download is completed, the .apk will be installed automatically. Where to, depends on multiple things:
    • if the dev did not specify the android:installLocation property in his apps Manifest, the app will be installed to internal story. Full stop, no other choice (see: API reference).
    • if this android:installLocation is set to preferExternal, and external storage is available, it will go there.
    • if it's set to auto, it again depends:
      1. does the app contain widgets, services, wants to start at boot, and several other things, it goes to internal storage. Full stop, no other choice.
      2. it goes where the devices "default install location" points to.
  • Um.....I have no idea how to execute commands or change the values – Morgen Long Dec 16 '14 at 20:27
  • I'm sure there are sources out there for you to find out, but if really you don't want to Google it: On Windows Explorer, navigate to your ADB directory. If you have the sdk, it is usually under \*[path-to-sdk]*\sdk\platform-tools. Shift-rightclick an empty space in that folder and Open command window here. Then execute the adb code. You can also use Minimal ADB and Fastboot Linux: Ctrl-Alt-T to open a terminal window. Then type cd /[path-to-sdk]/sdk/platform-tools, then execute the adb code. – LyricWulf Dec 16 '14 at 23:51

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