I would like to know whether there is a way to tell Android to install applications on the micro SD card by default instead of having to download applications to internal memory first and then having to move them to the SD card manually.
Thanks
I would like to know whether there is a way to tell Android to install applications on the micro SD card by default instead of having to download applications to internal memory first and then having to move them to the SD card manually.
Thanks
This article at HowtoGeek describes a possible way utilizing the adb:
adb shell pm setInstallLocation 2
adb shell pm set-install-location 2
)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 adb tag-wiki.
Update: To avoid confusion with t0mm13b's answer, some clearance on the installation process:
/data/local
, i.e. to your internal-storage. You can't change that..apk
will be installed automatically. Where to, depends on multiple things:
android:installLocation
property in his apps Manifest
, the app will be installed to internal story. Full stop, no other choice (see: API reference).android:installLocation
is set to preferExternal
, and external storage is available, it will go there.auto
, it again depends:
That cannot be changed! That is how Android works.
All downloads from Google Play goes to the internal filesystem, then from:
If the button Move to SDCard is disabled or greyed out, its probably to prevent the app from functioning - such as their own widgets on home screen.
Also, see this answer in the related side-bar to the right of this page. :)
android:installLocation="auto"
Have not seen adb shell pm setInstallLocation 2
, presumably you specify the package name in that case...
Manifest
says "auto", that's where it goes. If the Manifest
says other than "auto", it goes where the Manifest
says. See also: API ref, also here for the pm set-install-location
(new syntax) command.
android:installLocation
- actually enables the Move to SDCard from the manage app settings...some devs do not specify it and renders the button being disabled but I concede - never seen the adb command to do that either
/data/local
, and from there the app is installed. But depending on settings and manifest, it is installed either to internal or directly to external from there. // If you like to discuss this in detail: you remember our pub, ahem, chat? :)
Install "Terminal Emulator for Android" in your mobile and open
$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]
Go to "Manage apps" and then select the "All" tab and find "Google Play Store". Tap on it and then press the "Uninstall updates" button. After that, go to the Play Store all the apps will be installed on your SD Card. This is what I did on my QMobile A110 (Android 4.2).
The thing is u can change the default install directory if your phone is rooted. Download lucky patcher and tap on tools there you can find option to change default install directort. **Do not do this for android 4 or above or it may cause irreversible change. **