• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Amazon Prime music and symlinks

jae_63

Android Enthusiast
My Motorola Photon Q only has 4GB of builtin storage.* Unfortunately, the Amazon Music app, when downloading music which is free to Prime subscribers, will only download into primary storage, not the SD card.* Furthermore, while I can move my own music to the SD card (e.g., music that I ripped from CDs, uploaded to the Amazon cloud and then downloaded via the Amazon Music app to my phone), if I move the Amazon Prime music to the SD card it won't play.* I guess that this has to do with DRM.

I am considering rooting my phone, so that I will be able to create symbolic links.* Can anyone confirm (or deny) that if I do this with these Amazon Prime files, they will play properly?

(Extra credit) It would be nicer just to symlink the entire 'android/data/com.amazon.mp3/files' directory to a directory on my SD card.* If I do this, will the downloaded Amazon Prime music play properly?
 
I'm also interested in knowing this. I have a 4GB Razr M phone and there is not enough space on it to download many albums off of Amazon Prime Music. My phone is rooted and I have ES File Explorer installed. I'm wondering if anyone knows of a way to copy the folder over to my SD card and have Amazon music player look to that folder instead of the one on the phone. As it is right now, I only have about 7 albums on my phone. With a 60GB SD card that's going to waste and a phone that is already full, this would be very helpful.
 
I'm also interested in knowing this. I have a 4GB Razr M phone and there is not enough space on it to download many albums off of Amazon Prime Music. My phone is rooted and I have ES File Explorer installed. I'm wondering if anyone knows of a way to copy the folder over to my SD card and have Amazon music player look to that folder instead of the one on the phone. As it is right now, I only have about 7 albums on my phone. With a 60GB SD card that's going to waste and a phone that is already full, this would be very helpful.


I don't know the answer to this directly (..I'm looking for answers as to why I cannot play any downloaded music without the app crashing), but if someone wants an easy way to test this, there is a FREE app in the play store that makes this process very easy (root required) for just about any app:

https://play.google.com/store/apps/details?id=com.devasque.fmount&hl=en
 
OK, for other reasons I broke down and rooted my phone, and then eventually figured out how to solve the problem of storing Amazon Prime music on my SD card. It's pretty hairy. The most valuable web page that helped me in this process was here:
ODROID Forum View topic - JB 4.1.2 How to mount ext4 or NTFS

First of all, I believe that it's essentially impossible to do this using SD cards formatted in "FAT" format, which is the standard format. This is because one lacks the ability to set the required Linux permissions on the files which you're trying to place on the SD card. I struggled with this problem a lot before considering other SD formatting options.

I don't know whether this would be much harder with KitKat. I am using a JellyBean ROM on my Motorola Photon Q, CyanogenMod 10.2. I did this because the KitKat ROMs for my phone aren't completely functional (at least the ones I tried), but I think that this problem might be more difficult with KitKat, due to the way it handles SD cards and file permissions.

I think that I could've used symlinks as I originally suggested, but in the end I did something slightly simpler, which was to replace /data/media on the main phone filesystem with a large filesystem on my SD card. It turned out that it was simpler&best to partition my 64GB card into a small 8GB exFAT partition, and a large ext4 filesystem for the remainder of the card. This large filesystem is what I'm mounting as /data/media, and this is where my now voluminous Amazon Prime music resides, along with the ripped music which I own. The small exFAT filesystem makes Android a bit happier about mounting that portion of the card, without feeling upset that it has a card that it can't read. Note that the exFAT partition must be the first of the two partitions.

As a Mac user, I used Paragon's ExtFS tool to partition and format my SD card, although Windows users probably have equally good (or better) tools available.
Paragon ExtFS for Mac OS X - Download Demo

Before I mounted the large filesystem (see the first link above for instructions), I did something like
"mv /data/media /data/media.OLD"
Then after mounting the filesystem, I copied the contents of /data/media.OLD to /data/media, which was now the large partition of my SD card. I was careful to change all the file permissions under /data/media to be owned by the user 'media_rw', as well as having matching Unix group permissions ("chgrp media_rw ...").

I used the instructions in the first link above to use "ROM Toolbox" to automount my SD card correctly upon subsequent phone reboots.

The Amazon Music app wasn't totally happy after all this jostling, so I uninstalled and reinstalled that app prior to performing lots of downloads, and it seems pretty well-behaved now.

One advantage of this filesystem-mounting approach over symlinking, is that the former is "once and done", i.e. I can continue downloading music in the future and shouldn't have to do any more tweaking. If I'd used symlinking, then depending upon the nature of the symlinks I would probably have to build and maintain new symlinks in some fashion.

Please follow up in this thread if you have questions about attempting this, or if you'd like me to post command-by-command instructions, which I'll describe using mostly using "adb shell" or Terminal commands, i.e. the Linux command-line.
 
Last edited by a moderator:
One more thought on this. Above, I described how I used a small (8GB) partition for exFAT, and a the remainder of a 64GB card for ext4. I now recommend that you roughly reverse these allocations, e.g. only allocate 20% for ext4.

This is because many apps (such as Google's Play Music) know how to find the SD card, i.e. the exFAT partition described above, but don't have the flexibility to configure an arbitrary path, e.g. /data/media/SOMETHING as described in my previous post.

It turned out that I had lots of ripped music stored on my Google Drive, which I was able to download to my phone. But since I didn't have enough room to store these files on my small exFAT partition, I had to tell Google's Play Music app to store the files in local storage [ Storage Location: Internal (on this device) ]. Then I removed the directory /data/data/com.google.android.music/files/music, created an arbitarily-named directory named /data/media/GOOGLE.MUSIC and then created a symlink:

# ln -s /data/media/GOOGLE.MUSIC /data/data/com.google.android.music/files/music


Resulting in:

# ls -l /data/data/com.google.android.music/files/music
lrwxrwxrwx root root 2014-10-27 10:12 music -> /data/media/GOOGLE.MUSIC

[ note that /data/media/GOOGLE.MUSIC is on my big ext4 partition, since /data/media is the mount point for that partition, as described in my previous post ]

But I wouldn't have had to endure this additional complexity if I'd been more forward-thinking about the allocation of my SD card. I wouldn't be surprised if I encounter similar issues later on with videos, etc.

BTW, here's the method that I used to download my Google Music collection to my phone. I had to create 6 such playlists (I named mine "All A-D", "All E-H", etc.) because each playlist is limited to 1,000 songs.

http://www.makeuseof.com/tag/download-music-google-play-phone/


========


I'll repeat myself: I recommend a relatively large exFAT partition, and a much smaller ext4 partition. Note that the exFAT partition must be the first of the two partitions, as allocated by your desktop partitioning/formatting software.
 
Hmm ... before you try all my ideas (above), you should try the "FolderMount" app.

https://play.google.com/store/apps/details?id=com.devasque.fmount&hl=en


Based upon my experience with SD card permissions I don't think it should work for this Amazon Prime Music problem ... but apparently the app is pretty sophisticated, and it reportedly does work.

I'm not likely to try it myself, given the [newly created] complexity of my current setup :-(

Please post back if you try either FolderMount, or my solution.
 
Hmm ... before you try all my ideas (above), you should try the "FolderMount" app.

https://play.google.com/store/apps/details?id=com.devasque.fmount&hl=en

Please post back if you try either FolderMount, or my solution.

Registered just to reply to this. App works perfectly. Download some songs/albums to your library, then in Folder Mount you use the Apps Analyzer option and select Amazon Prime. It'll automatically create the folder links for you, so just save as is. Select the pin icon on the right of your new Amazon pairing so that it's green and now the Amazon app will play songs on your phone library that you downloaded while the files are actually stored safely on your SD card. When you download new files through Amazon, you have to edit the pairing (long press and select the edit pencil) and re-save the settings so that it moves the new music off your internal folder to the SD. App works super smooth, thanks for recommending it.
 
Hmm ... before you try all my ideas (above), you should try the "FolderMount" app.

https://play.google.com/store/apps/details?id=com.devasque.fmount&hl=en


Based upon my experience with SD card permissions I don't think it should work for this Amazon Prime Music problem ... but apparently the app is pretty sophisticated, and it reportedly does work.

I'm not likely to try it myself, given the [newly created] complexity of my current setup :-(

Please post back if you try either FolderMount, or my solution.

FolderMount[ROOT] is a very excellent way to take the paint out of moving things to the external storage card. This is my favorite app of the year, so far. My phone has pathetic internal memory and tons of external, so this saved me a lot of effort while letting me avoid a phone upgrade a little longer.
 
Ok, so I did the root on a Hipstreet Pilot, and used FolderMount as suggested. I am doing this for Amazon Prime Music as the Hipstreet has little internal storage. It copies to the SD now but the offline songs do not play from the SD. On my Samsung phone on the same version of AP Music I have the option to select SD but not on the Hipstreet.....frustrating.
 
Back
Top Bottom