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.
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.
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. :)