[Sony Xperia M] ov1d1u:
Another way of moving .apk's and data to SD-Card is using XDrive. This also allows downloading of large applications from Google Play Store. Requires unlocked bootloader.

Prerequisites for both C1905 and C2005:

1. You need a second partition on your SD-Card, where the .apk will be actually stored. This second partition needs to be formatted to ext3. Leave the first partition as FAT32.

Instructions for C1905 151C28:

1. Download CWM with XDrive support from here.

2. Unpack the archive and flash the IMG file with fastboot.

3. Copy 'activate_init_d.zip' from init.d directory to SD-CARD (1st partition).

4. Also download 'install_xdrive_swap_151c28_v3.0.zip' to SD-CARD (1st partition).

5. Boot the phone in CWM and flash the 'activate_init_d.zip' and 'install_xdrive_swap_151c28_v3.0.zip' files.

6. Boot up the phone as usual and connect to the phone's shell with adb. Execute:

su
/system/etc/busybox cp -p /data/app/* /xdata/app
mv /data/app /data/xdata-app
ln -s /xdata/app /data/app
exit
exit

6. Reboot the phone. I don't have a C1905 next to me, but as far as I remember this phone correctly shows the internal space as first partition from SD-Card size and the external space as the internal phone's memory capacity.

If you want to rollback these changes, first execute from adb shell

su
/system/etc/busybox cp -p /xdata/app/* /data/xdata-app
rm /data/app
mv /data/xdata-app /data/app
exit
exit

then flash 'uninstall_xdrive_swap_151c28_v3.0.zip' from CWM and finally flash another kernel.

Instructions for C2005 152A25:

1. Download CWM with XDrive support from here.

2. Unpack the archive and flash the IMG file with fastboot.

3. Copy 'activate_init_d.zip' from init.d directory to SD-CARD.

4. Also download 'install_xdrive_swap_152a25_v3.0.zip' to SD-CARD (1st partition). (version for deodexed ROMs here

5. Boot the phone in CWM and flash the 'activate_init_d.zip' and 'install_xdrive_swap_152a25_v3.0.zip' files.

6. Boot up the phone as usual and connect to the phone's shell with adb. Execute:

su
/system/etc/busybox cp -p /data/app/* /xdata/app
mv /data/app /data/xdata-app
ln -s /xdata/app /data/app
exit
exit

6. Reboot the phone. C2005 doesn't show any change in Setting -> Storage menu, but with a file manager you should observe that the internal memory has now the capacity of the FAT32 partition on SD-CARD. Also on my phone the paths got messed up a bit, but nothing to worry.

If you want to rollback these changes, first execute from adb shell

su
/system/etc/busybox cp -p /xdata/app/* /data/xdata-app
rm /data/app
mv /data/xdata-app /data/app
exit
exit

then flash 'uninstall_xdrive_swap_152a25_v3.0.zip' (deodex version) from CWM and finally flash another kernel.

Follow these steps with care, as the instructions were in russian and I had to approach a more "try and see what happens" method to get this working. Also the rollback method is untested. I cannot be held responsible for any damages made to your phone by following this tutorial. A better idea is to use the original (and more extended) tutorial, written in russian.

It is very possible to have missed something, as I wrote this tutorial after ~2 weeks after I made this changes to my C2005 phone and my brother's C1905 phone. Please take care and have a backup.

Attached two screenshots showing the swapping success between the internal and external memory and also to demonstrate the downloading of large applications from Google Play.