Android - Moving installation location on non rooted Android 5 Lollipop device
Basically speaking: You can't. At least not without rooting.
The main reasons Android does not allow you to install an application to your external SD card are:
Security: It's the main reason for that restriction. Basic file systems like NTFS or FAT (any version of it) do not allow for Unix-like permission management.
This means: any application would be able to write to any file on that storage.
Thinking of malicious apps, they would be able to replace proper apps with fake/infected ones, bricking your phone and rendering it unusable.
Volatile storage: Your external SD card is not safe to be inserted in your device all the time. You are able to eject it any time what makes your SD card not a very good candidate for a permanent storage. Consider apps running off of your SD card and you eject it. Those apps will just crash and all other apps saved on your SD card are gone as well. You can't use them at that time and the data of those app is also affected by reason #1.
Basically you can! ;)
- First, Root your phone!
- Second, Create a secondary partition in your SD card (Ext.4) >= 2GB and set it as primary.
- Third, download and install Link2sd app from playstore. Open the app, and I will ask you to create a mount point to your 2nd partition. Select Yes. Reboot.
After reboot, EVERY app you install will automatically go to SD card.
If you don't know how to create partition search for a guide in Google there are plenty of them
That was quite a journey searching for an answer not involving rooting but I ended up:
Unlocking my bootloader
Booting on TWRP without installing it:
fastboot boot recovery.img
Installing Chainfire's SuperSU with TWRP.
From Terminal Emulator or adb's shell:
su pm set-install-location 2
From an application's menu in
Settings > Applicationsjust pushing
Move to SDCARDmoves it* - its data and obb - to the external SDCARD.
Nah... I didn't do that! 3:)