Join/Merge external SD with internal SD card? I have a Samsung device of 8GB with an SD card of additional 32GB.

I'm using many apps that cache data for offline use (mainly Google Play Music), these apps are not smart enough to determine the 32GB of available space and take advantage of it, but instead claim 'no space'.

I thought perhaps there is a workaround for it by merging the external storage with the internal so the apps 'think' there is 48GB.
I don't use several SD cards which means I'm not gonna switch SDs back and forth any time soon.

Do you know a hack for it? Or any solution to make Google Music store its stuff into all available space wherever it is?

I've read this link, but since I'm not so much into Android development, I didn't understand it, can anyone refer me or translate it into a more detailed guide (I'm not a complete noob, but I'm not a hacker).

P.S. My device is rooted.
Instead of mergin your internal an external SD card, I think its easier to just bind the directories with high data to the external SD card. The idea is to link the folder were Google Music stores the offline cache with the SD card, so it will write it there instead of the internal memory. This is valid for any other app that writes to the internal memory, just follow the steps:


Go to Settings > Apps > Running and close Google Music.
Open your file manager and go to /sdcard/Android/data/com.google.android.music/cache and delete all files.
Create a folder in your external SD card, for example MyMusic
Create a file in your internal SD card with the mount options, for example MusicScript.txt
Insert the following in the file (check the directories path as it might change):
mount -o bind /emmc/MusicCache/ /sdcard/Android/data/com.google.Android.music/
Go to Google Play store and install Script Manager.
Open Script Manager, grant it root, open the MusicScript.txt file you've created and select Open As > Script/Executable.
Select su and boot and hit save.
Reboot your phone.
Open Google Music and click on Choose on device music. You should be able to see the total space available is the same as the space available in the external SD card.


As an alternative, if you have a kernel that supports init.d scripts, you can skip steps 6 to 8 by adding the file as executable to /etc/init.d/, that way it will be executed at boot.

How to find your internal SD card path:


Use ES File Explorer and it should display your SD card content once you open it. You can check the SD card path in the toolbar at the top.
Use any Terminal (e.g. ConnectBot) and type mount or mount | grep sdcard, the command should display the mount point or path of your internal SD card.