Share your experience!
I just received my Xperia M4 Aqua, and the internal memory available for installing app is only about 1.5 GB
I tried to move the apps to my microSD card (class 10) but just part of them is moved. The phone is good, but the limited storage really annoys me.
Please allow the M4 Aqua users to move the whole apps to microSD card or uninstall some native apps (some apps of Google that i cant uninstall), 1.5 GB is too little
I tried, and I couldn't move app to SD card.
I checked if I spelled everything right, ran adb.exe once again, and this is what I got:
Error: unknown command 'setInstallLocation'
usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FIL
TER]
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 grant PACKAGE PERMISSION
pm revoke PACKAGE PERMISSION
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
pm get-max-users
pm list packages: prints all packages, optionally only
those whose package name contains the text in FILTER. Options:
-f: see their associated file.
-d: filter to only show disbled packages.
-e: filter to only show enabled packages.
-s: filter to only show system packages.
-3: filter to only show third party packages.
-i: see the installer for the packages.
-u: also include uninstalled packages.
pm list permission-groups: prints all known permission groups.
pm list permissions: prints all known permissions, optionally only
those in GROUP. Options:
-g: organize by group.
-f: print all information.
-s: short summary.
-d: only list dangerous permissions.
-u: list only the permissions users will see.
pm list instrumentation: use to list all test packages; optionally
supply <TARGET-PACKAGE> to list the test packages for a particular
application. Options:
-f: list the .apk file for the test package.
pm list features: prints all features of the system.
pm list users: prints all users on the system.
pm path: print the path to the .apk of the given PACKAGE.
pm dump: print system state associated with the given PACKAGE.
pm install: install a single legacy package
pm install-create: create an install session
-l: forward lock application
-r: replace existing application
-t: allow test packages
-i: specify the installer package name
-s: install application on sdcard
-f: install application on internal flash
-d: allow version code downgrade
-p: partial application install
-S: size in bytes of entire session
pm install-write: write a package into existing session; path may
be '-' to read from stdin
-S: size in bytes of package, required for stdin
pm install-commit: perform install of fully staged session
pm install-abandon: abandon session
pm set-installer: set installer package name
pm uninstall: removes a package from the system. Options:
-k: keep the data and cache directories around after package removal.
pm clear: deletes all data associated with a package.
pm enable, disable, disable-user, disable-until-used: these commands
change the enabled state of a given package or component (written
as "package/class").
pm grant, revoke: these commands either grant or revoke permissions
to applications. Only optional permissions the application has
declared can be granted or revoked.
pm get-install-location: returns the current install location.
0 [auto]: Let system decide the best location
1 [internal]: Install on internal device storage
2 [external]: Install on external media
pm set-install-location: changes the default install location.
NOTE: this is only intended for debugging; using this can cause
applications to break and other undersireable behavior.
0 [auto]: Let system decide the best location
1 [internal]: Install on internal device storage
2 [external]: Install on external media
pm trim-caches: trim cache files to reach the given free space.
pm create-user: create a new user with the given USER_NAME,
printing the new user identifier of the user.
pm remove-user: remove the user with the given USER_IDENTIFIER,
deleting all data associated with that user
Since there is an error right on the beggining, I think it's safe to assume it didn't work 
PS - sorry for the long post.
Hi @AlfaBoy156
If you run the command "adb devices" does it shows any device attached ? Do you have USB Debugging activated ?
BTW do you run the complete command adb shell pm setInstallLocation 2 or only setInstallLocation ?
Other option for moving files is the "File Commander" more info here: https://play.google.com/store/apps/details?id=com.mobisystems.fileman&hl=es_419
Best Regards,
Hi @AlfaBoy156
You can check this link about adb installer:
http://forum.xda-developers.com/showthread.php?p=48915118
I hope can be useful.
I'm at disposal for any question.
Best Regards,
Thanks!
I'll look into that 
I followed the link in your post, downloaded and istalled everything, followed the steps, and this time I got this error:
"error: java.lang.securityexception: Package android does not belong to 2000"
Googling this error, I realized that you cannot change installation destination on Sony Xperia M4 Aqua, unless you unlock your bootloader or root your device.
I checked Sony's website for bootoloader unlocking, only to find out that you are still unable to unlock bootloader on M4 Aqua!
Sony, fix this, ASAP!!
It's killing me, I cant install any app because I dont have any space on my device, and my SD card is sitting empty!!
@AlfaBoy156
Same problem here. It is imposible without root.
I used the command: adb shell pm set-install-location 2
Please Sony, unloock the boot loader and publish it.
http://developer.sonymobile.com/unlockbootloader/
I'm very disappointed with this mobile.
Hi there.
I had an Xperia M4 Aqua 2 months ago. Don't get me wrong it's a good phone. And an affordable phone at that. But it seems there is a serious issue regarding the internal storage. Minus the software and other 1st-party apps the 8GB shrinks significantly to less than 2GB only. And i found there was no option to manually (or automatically) transfer files & apps to the SD card.
Has Sony fixed this with a software update?
Please advice. Thanks.
You can move apps to SD card with Lollipop and even on older devices with 3rd party apps, search lay store for "App to SD"