Before when I was using AOKP on my Tab2 7", was using Directory Bind to bind my Kindle directory to SD card so as not to use up valuable storage space. Everything was fine.
Now that I've installed CM 10.1 which is based off of Jelly Bean 4.2.1, and allows for multiple users, the directory format has changed. Instead of everything falling under /sdcard/... it's now /storage/emulated/x/ where x is a number starting with 0 and increasing for every new user. I'm guessing that's where the new Kindle storage directory is looking for titles. When I try to use directory bind to bind to /storage/emulated/0/kinidle, it fails with "Enter valid target directory".
Anyone else seen this? I'd post in the dev forum, but I don't currently have enough posts to do so.
[A] Kindle app on CM 10.1
pumkinut said:
Before when I was using AOKP on my Tab2 7", was using Directory Bind to bind my Kindle directory to SD card so as not to use up valuable storage space. Everything was fine.
Now that I've installed CM 10.1 which is based off of Jelly Bean 4.2.1, and allows for multiple users, the directory format has changed. Instead of everything falling under /sdcard/... it's now /storage/emulated/x/ where x is a number starting with 0 and increasing for every new user. I'm guessing that's where the new Kindle storage directory is looking for titles. When I try to use directory bind to bind to /storage/emulated/0/kinidle, it fails with "Enter valid target directory".
Anyone else seen this? I'd post in the dev forum, but I don't currently have enough posts to do so.
Click to expand...
Click to collapse
I've exactly the same problem and tried so many solutions but nothing seems to work i've tried binding directories manually but apps don't use mounts done like this. For example i use eComic app to read comics (i've more than 5Gb of comics) and it uses a folder on "[internal sdcard]/eComic". I've binded this folder for another one on extSdCard, but it doesn't see comics downloaded. I've tried using my scripts in init.d directory or userinit.sh or other scripts using ScriptManager, all they are executed at startup but after that everything is exactly as before mounting. I'm exausted of this and i think to revert to stock rom i've an internal sd card full and a 16gb external sd card empty... this is so stupid
Same problem here! I wonder how come it's possible that no one found a solution for this yet.
Related
Can anyone tell me where the music is stored on my device whenever I select a file to be available offline in Google Music?
Sent from my SAMSUNG-SGH-I997 using XDA App
Good question. I searched my internal and external SD, but didn't see it...
In for answer
/sdcard/external_sd/Android/data/com.google.android.music/cache/music/
So I'm assuming that sd_card/external_sd/ is my 2gb external card. Is that correct? If so I wonder why it saves to the external sd. I haven't bought a bigger card yet. I can't find a way to change where the files are saved.
Sent from my SAMSUNG-SGH-I997 using XDA App
Kmo78 said:
So I'm assuming that sd_card/external_sd/ is my 2gb external card. Is that correct? If so I wonder why it saves to the external sd. I haven't bought a bigger card yet. I can't find a way to change where the files are saved.
Sent from my SAMSUNG-SGH-I997 using XDA App
Click to expand...
Click to collapse
Doesn't look like there is a way to change the cache location. Time to get a bigger SD card!
I decided to do a little experimenting with this. I removed my sd card and when I turned my phone on google music began downloading the 15 songs I had selected to be available offline. I went to the /sdcard/external_sd/ directory and the files were there without an external card installed. So is this path just a shortcut to the external card? It's kinda weird. I'd prefer to have the songs saved to the phone. Hopefully google will give us an option in an updated version of the application.
Sent from my SAMSUNG-SGH-I997 using XDA App
I was kind of surprised by this thread as I have the opposite problem, my music is synced to sdcard/data, instead of external_SD where I want it.
Guessing since you posted this you don't know how you got it synced to external?
Mixy said:
I was kind of surprised by this thread as I have the opposite problem, my music is synced to sdcard/data, instead of external_SD where I want it.
Guessing since you posted this you don't know how you got it synced to external?
Click to expand...
Click to collapse
Same thing here!
I'm having the same problem here on my transformer. Maybe someone wants to look at what I've been trying so far and join in solving this: http://forum.xda-developers.com/showthread.php?t=1476972
Fix (no sdcard formatting needed)
This is a fix i figured out piecing together other peoples attempts.
Use this as a script
mount -o bind sdcard2/android/data/com.google.android.music sdcard/android/data/com.google.android.music
Alternately you can change the first location to the location of your choosing as long as it resides on the external as card.
Ex.
Mount - o bind sdcard2/music sdcard/Android/data/com.google.Android.music
will bind:
sdcard/Android/data/com.google.Android.music (google's forced save location)
to
sdcard2/music
Go to google music (play music now) settings and clear any music that is currently saved to your device.
this only applies to music made available offline. If you do not clear it before running the script the music will exist on your internal sdcard but not be accessible.
open script manager and find the script you made
Select it and make sure to click set on boot and superuser
Run Your script.
That is it now your default save location for google music is bound to the location on the external sdcard. the device will see the location as its default but really be saving to the external sdcard.
You can check this by going to google music. Selecting "make available offline" and look at the free space. It should shoe the space available on your external sdcard.
TLR Version (noob version)
I was getting a lot of questions about the preliminary steps here (i.e. rooting, writing script, etc) so i decided to attach the noob version in case anyone needs verification on how to accomplish these steps.
HOW DO I ROOT?
So, Rooting gives you full access and control over your phone. instructions for how to root are device specific. so i would start by searching XDA for "YOUR DEVICE one click root"
ex. samsung galaxy s2 one one click root
some devices are easier to root than others. i cannot provide steps for your particular device, but through XDA, and google you CAN find everything you need.
some devices have one click root tools, some do not, so the rooting process is more in depth for those devices.
rooting instructions are so device specific i could not find a generic set of instructions, and don't want to mislead anyone by linking them to a set of instructions not compatible with their device.
There is a risk of bricking your device (making it inoperable) while rooting, although the risk is minimal... almost non existent if you carefully follow instructions. I have rooted 5 seperate devices without bricking any, and, in most cases even if bricked the device can still be restored.
there are additional benefits to rooting, such as overclocking
for example my Galaxy S2 normally runs at 1.5 GHZ, i have increased the speed to 1.8GHZ
(NOTE** Without XDA DEVELOPERS i would have rooted 0 devices, and probably bricked at least one, so thank you to all of you out there who have helped me, I hope this method will help some of you in return.)
NOW THAT YOU ARE ROOTED...
INSTALL SCRIPT MANAGER..
First, to install script manager just go to google market (Play Store) and search for script manager
INSTALL ES FILE EXPLORER..
To make a script go to google market (Play Store) and find ES File Explorer
WRITE SCRIPT..
Open es file explorer when install completes.
in es file explorer click the menu button, and select "new"
when prompted select "File"
name your file something you'll remember
Ex.MusicScript
Click your new file
when prompted select "Text"
type this EXACTLY how you see it
Mount - o bind sdcard2/music sdcard/Android/data/com.google.Android.music
press back and when prompted to save click yes
MAKE DESTINATION FOLDER..
now on es file explorer click "Favorites" (the star)
a new menu will pop up, at the top you willsee a picture of a phone with "/" underneath it click the phone
this will take you to the root directory
click the folder Sdcard2
click the menu button, and select "new"
when prompted select "Folder"
Name the folder music
Your script and destination music location are created
EXECUTE SCRIPT..
now open script manager
find your script which should be located in the directory /mnt/sdcard and the file name you chose earlier
select the script
open as script/executable
make sure script is selected not executable
click the buttons for "Su" and "Boot"
click save
Go to google music (play music now) settings and clear any music that is currently saved to your device.
this only applies to music made available offline. If you do not clear it before running the script the music will exist on your internal Sdcard but not be accessible.
now reboot the script will run at boot a prompt will appear asking for superuser rights, click yes and remember this selection (it may say something different than remember this selection whichever option resembles remember needs to be selected.)
YOU'RE DONE!!!
your music should now save to sdcard2/music but the device will still think it is saving to the default sdcard/Android/data/com.google.Android.music
You can check this by going to google music. Selecting "make available offline" and look at the free space. It should shoe the space available on your external sdcard.
So try your hardest to figure out how to root using google, and if your not confident enough to attempt it this fix may not be for you.
if you have tried everything you can and are still stuck message me back, including what device you have, and i will see if i can find a link to the rooting instructions for your particular device.
I assume no responsibility if you damage your device... These steps do work, and if followed will fix your music issues as well as introducing you to a world of additional benefits of being a rooted user.
FuzzyMeep Two said:
This is a fix i figured out piecing together other peoples attempts.
Use this as a script
mount -o bind sdcard2/android/data/com.google.android.music sdcard/android/data/com.google.android.music
Alternately you can change the first location to the location of your choosing as long as it resides on the external as card.
Ex.
Mount - o bind sdcard2/music sdcard/Android/data/com.google.Android.music
will bind:
sdcard/Android/data/com.google.Android.music (google's forced save location)
to
sdcard2/music
Go to google music (play music now) settings and clear any music that is currently saved to your device.
this only applies to music made available offline. If you do not clear it before running the script the music will exist on your internal sdcard but not be accessible.
open script manager and find the script you made
Select it and make sure to click set on boot and superuser
Run Your script.
That is it now your default save location for google music is bound to the location on the external sdcard. the device will see the location as its default but really be saving to the external sdcard.
You can check this by going to google music. Selecting "make available offline" and look at the free space. It should shoe the space available on your external sdcard.
YOU'RE DONE!!!
your music should now save to sdcard2/music but the device will still think it is saving to the default sdcard/Android/data/com.google.Android.music
You can check this by going to google music. Selecting "make available offline" and look at the free space. It should shoe the space available on your external sdcard.
So try your hardest to figure out how to root using google, and if your not confident enough to attempt it this fix may not be for you.
if you have tried everything you can and are still stuck message me back, including what device you have, and i will see if i can find a link to the rooting instructions for your particular device.
I assume no responsibility if you damage your device... These steps do work, and if followed will fix your music issues as well as introducing you to a world of additional benefits of being a rooted user.
Click to expand...
Click to collapse
This method doesn't work on my Evo 4G LTE. Still shows the internal SD available space on "Make available offline" Does it matter if I'm using a 64GB card?
@GMtom1 are you sure that you got whatever your sd card is labed as right? I haven't tried this method yet, but that seems to be the biggest point of failure for us evo lte users that are bringing our cards from other devices
******
gmtom1 said:
This method doesn't work on my Evo 4G LTE. Still shows the internal SD available space on "Make available offline" Does it matter if I'm using a 64GB card?
Click to expand...
Click to collapse
I have been having problems too... After i re-flashed my device, it has not been just working the way it did before, the script wouldn't work, so i believe that me installing Busybox or BASH, or something like that well before i made the script, was allowing the script to work properly. But, in the mean time, find "Directory Bind" it works perfectly...
p.s make sure you clear any music of of your internal sdcard, or it will still exist, but be inaccessible.
gmtom1 said:
This method doesn't work on my Evo 4G LTE. Still shows the internal SD available space on "Make available offline" Does it matter if I'm using a 64GB card?
Click to expand...
Click to collapse
Same..I tried it, made sure busybox was installed and still didn't work on my Evo 4G LTE
Anyone gotten to work on (Verizon) Galaxy S3?
I just tried to do this via your method and using the DirectoryBind utility, and both versions don't seem to like the path of my external SD Card (extSdCard).
Screenshots attached.
My script was:
Code:
mount -o bind extSdCard/music sdcard/Android/data/com.data.google.android.music
also tried with
Code:
mount -o bind /mnt/extSdCard/music sdcard/Android/data/com.data.google.android.music
FWIW the directory extSdCard exists
sti3 said:
I just tried to do this via your method and using the DirectoryBind utility, and both versions don't seem to like the path of my external SD Card (extSdCard).
Screenshots attached.
My script was:
Code:
mount -o bind extSdCard/music sdcard/Android/data/com.data.google.android.music
also tried with
Code:
mount -o bind /mnt/extSdCard/music sdcard/Android/data/com.data.google.android.music
FWIW the directory extSdCard exists
Click to expand...
Click to collapse
was getting the same errors as you are until I added the mnt/ in both paths.
mount -o bind mnt/sdcard/external_sd/gmusic mnt/sdcard/Android/data/com.google.Android.muisic
and I am good to go, 30GB of storage just waiting to be filled with music.
esox23 said:
was getting the same errors as you are until I added the mnt/ in both paths.
mount -o bind mnt/sdcard/external_sd/gmusic mnt/sdcard/Android/data/com.google.Android.muisic
and I am good to go, 30GB of storage just waiting to be filled with music.
Click to expand...
Click to collapse
I apologize for the gravedig, but I've been struggling significantly getting this to work on my Galaxy S3.
As a previous poster above said, because my external SD card is mounted at /mnt/extSdCard there are problems.
My command is:
Code:
mount -o bind /mnt/extSdCard/MusicCache /mnt/sdcard/Android/data/com.google.android.music
and it doesn't work at all...
Any idea why?
Is there a way I can make the MicroSD just an extension of the internal storage? It would be nice to store apps on it as well. Is this possible?
Apps2SD lets you put apps on, and ICS lets you use it pretty much the same way as the internal. So no need really.
If you really wanted to it would involve symlinking partitions, but I'm not entirely sure as to the process
Oh that's great because I remember honeycomb didn't allow that. When an app is on sd will its files reside on sd? For example DoggCatcher stores its files on internal and I would really like to have those files on my MicroSD. Would a symbolic link work to do this?
Edit: tried app2sd but it couldn't find SD card because of how TF names internal as SD.
Trying out Link2SD because it seems promising. I think it creates symbolic links.
Not symbolic links
Symlinking, the ls command, think of it as a linux-shortcut command perse.
I find that Titanium backup works very well, but it needs root.
How do you do it in Titanium? I can't figure out how. Thanks for the help so far
Edit: Also if for example Doggcatcher's files are on internal and it won't let me specify where I want to store them how would I move them to MicroSD?
Really sorry, I was getting TI backup mixed with something else.. X.x
https://play.google.com/store/apps/...wOSwiY29tLndvbmd4bWluZy5hbmRyb2lkLmFwcDJzZCJd
Try this--
and this with root-- https://play.google.com/store/apps/details?id=com.leinardi.setinstalllocation&feature=also_installed (works well, my ROM has built in support for this though, most big apps (games) can be moved with the native ics feature. hunt through settings.
Thanks for the help! Is the TF internal filesystem Fat32 by default?
Thing O Doom said:
Not symbolic links
Symlinking, the ls command, think of it as a linux-shortcut command perse.
I find that Titanium backup works very well, but it needs root.
Click to expand...
Click to collapse
No offense intended, but I'm not sure I understand what you are saying. Symlink is just a short name for a symbolic link, as far as I could find (from Wikipedia):
In computing, a symbolic link (also symlink or soft link) is a special type of file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution.
Click to expand...
Click to collapse
And the "ls" command (without any other parameters) just lists the files in the current directory in Linux and Unix type OSs.
---------- Post added at 12:52 AM ---------- Previous post was at 12:50 AM ----------
taC nayN said:
Thanks for the help! Is the TF internal filesystem Fat32 by default?
Click to expand...
Click to collapse
The internal is ext4, I believe, a Linux filesystem type.
I'm trying this to create soft link so I can have DoggCatcher files on MicroSD instead of Internal but when I tried
ln -sf /removable/MicroSD/DoggCatcher /sdcard/Doggcatcher
it says No such file or directory. What am I doing wrong? My MicroSD is exFAT.
Sorry, I'm getting so mixed up today. *blarg* Thank you for pointing that out. Id even know what I was thinking. -sleep time-
myandroiid.blogspot.com/p/how-to-use-your-sdcard-as-internal.html
HERE IS COMPLETE GUIDE ITS AWESOME
Sent from my HTC Salsa C510e using xda premium
taC nayN said:
I'm trying this to create soft link so I can have DoggCatcher files on MicroSD instead of Internal but when I tried
ln -sf /removable/MicroSD/DoggCatcher /sdcard/Doggcatcher
it says No such file or directory. What am I doing wrong? My MicroSD is exFAT.
Click to expand...
Click to collapse
If it is the same as mine, then it should be "ln -sf /Removable/MicroSD/DoggCatcher /sdcard/DoggCatcher". Note the capital R in removable. Now, if DoggCatcher is a directory name then you may need to add a "/" at the end of one or both of your target and source. Not sure if the 'f' option works with busybox, you may need just 'ln -s'. Also, the normal command structure is " ln -s(f) source-file link-name ". Make sure you have the parts in the intended order.
Allright I got everything *mostly* figured out now. I don't necessarily want to make MicroSD primary because they are the same size so I just want to extend it. I figured out how to move DoggCatcher via the app (I'm an idiot)
I still would like to know how to create soft links between SD and internal though because it keeps failing.
sidneyk said:
If it is the same as mine, then it should be "ln -sf /Removable/MicroSD/DoggCatcher /sdcard/DoggCatcher". Note the capital R in removable. Now, if DoggCatcher is a directory name then you may need to add a "/" at the end of one or both of your target and source. Not sure if the 'f' option works with busybox, you may need just 'ln -s'. Also, the normal command structure is " ln -s(f) source-file link-name ". Make sure you have the parts in the intended order.
Click to expand...
Click to collapse
Thank you so much! That was the problem. Greatly appreciated.
I have a p5113 galaxy tab 2 originally running jb 4.1.1. I upgraded to cyanogenmod 10.1 jb 4.2.2....i don't know much about how the sd card setup works but when I use root explorer I can see my sd card and my external sd. When I was flashing the rom again I notices that what is usually the highest level of the file system isn't really the highest level. in other words what is usually /system is actually /0/system and there are other files at the same level as the /0 file. The files appear to me to be the left over bits from the previous os... In other words they are the /sdcard/android/ and sd/card/pictures type files.... I'm concerned that they are taking up space... How do u get access to these files and is if safe to remove them?
I know this want the most articulate explanation of the problem but I hope I explained it well enough..... It's like I have an sdcard directory containing my root directory. If that's the way the rom works that's fine, but I would like to remove the extra files to get more space
kemmycupid said:
I have a p5113 galaxy tab 2 originally running jb 4.1.1. I upgraded to cyanogenmod 10.1 jb 4.2.2....i don't know much about how the sd card setup works but when I use root explorer I can see my sd card and my external sd. When I was flashing the rom again I notices that what is usually the highest level of the file system isn't really the highest level. in other words what is usually /system is actually /0/system and there are other files at the same level as the /0 file. The files appear to me to be the left over bits from the previous os... In other words they are the /sdcard/android/ and sd/card/pictures type files.... I'm concerned that they are taking up space... How do u get access to these files and is if safe to remove them?
I know this want the most articulate explanation of the problem but I hope I explained it well enough..... It's like I have an sdcard directory containing my root directory. If that's the way the rom works that's fine, but I would like to remove the extra files to get more space
Click to expand...
Click to collapse
do factory reset
Hello there, sorry for this noob question, but I am really eager to let my external SD card to work. I have checked out some of the methods like directory bind etc., although some of them do not work and even complicated for a noob like me; I saw this app called Super Mount in google play and also it was previously suggested as what i have read in the forum here in XDA regarding how to run your apps or games in your ext SD so you can save your phones' (in case my mine its tablet) internal memory, did some research, and so I have tried what I could but I cannot seem to make it work... here is the path that I have been using in the Super Mount....(the one listed below that is the example path in google play)
source path : /storage/extSdCard/Android/obb/jp.co.sega.vtc (my tablet)
mount path : /storage/emulated/0/Android/obb/jp.co.sega.vtc
vs.
source path : /storage/extSdCard/DioDict3B (the example on the supermounts screen shot in google play)
mount path : /storage/sdcard0/DioDict3B
So I was kind of trying to copy how the directory should be...and by the directory that I did, whenever I launch my game its not working....its virtua tennis by the way.....and it says i need to download the extrafile over the wifi connection, though it works fine if I install it in my internal SD and put the SD data in the OBB folder. So, I am assuming it has something to do with the mounting. I have successfuly installed Lidroid File Manager and its plug-in the Super Mount, I can mount and unmount successfuly via the plug-in, only that I cannot seem to make it work.
By the way, I have Folder Mount installed and I'm using it for some big games in the tablet. Would that affect the directory or something if I have it installed? I just noticed there's an "emulated" in the directory, would that do anything to make the lidroid not to work? I did not uninstalled it since I have games which I have already mounted via the Folder Mount and it might mess things up more, so just want to consult few experts here in the forum first. Thanks and more power
Galaxy Note 8 N5100 user.
h4ckneyed said:
Hello there, sorry for this noob question, but I am really eager to let my external SD card to work. I have checked out some of the methods like directory bind etc., although some of them do not work and even complicated for a noob like me; I saw this app called Super Mount in google play and also it was previously suggested as what i have read in the forum here in XDA regarding how to run your apps or games in your ext SD so you can save your phones' (in case my mine its tablet) internal memory, did some research, and so I have tried what I could but I cannot seem to make it work... here is the path that I have been using in the Super Mount....(the one listed below that is the example path in google play)
source path : /storage/extSdCard/Android/obb/jp.co.sega.vtc (my tablet)
mount path : /storage/emulated/0/Android/obb/jp.co.sega.vtc
vs.
source path : /storage/extSdCard/DioDict3B (the example on the supermounts screen shot in google play)
mount path : /storage/sdcard0/DioDict3B
So I was kind of trying to copy how the directory should be...and by the directory that I did, whenever I launch my game its not working....its virtua tennis by the way.....and it says i need to download the extrafile over the wifi connection, though it works fine if I install it in my internal SD and put the SD data in the OBB folder. So, I am assuming it has something to do with the mounting. I have successfuly installed Lidroid File Manager and its plug-in the Super Mount, I can mount and unmount successfuly via the plug-in, only that I cannot seem to make it work.
By the way, I have Folder Mount installed and I'm using it for some big games in the tablet. Would that affect the directory or something if I have it installed? I just noticed there's an "emulated" in the directory, would that do anything to make the lidroid not to work? I did not uninstalled it since I have games which I have already mounted via the Folder Mount and it might mess things up more, so just want to consult few experts here in the forum first. Thanks and more power
Galaxy Note 8 N5100 user.
Click to expand...
Click to collapse
I cant find this app anymore.
There have been lots of posts and articles and questions about the dreaded SD Card access changes in KitKat, and how the SD card can no longer be freely written.
And there is an excellent thread here http://forum.xda-developers.com/showthread.php?t=2684188 about a great app that can fix it.
However, whether you fix your permissions manually, or using this app, there is still a very subtle difference.
I've been using rsync for Android for several years. I have a central Linux server at my house, on which I keep all my files, and I periodically rsync FROM my server, TO my Android Device (in this case, a Galaxy Note 3 SM-900 4G running 4.4.2) to a structure on the external SD card. That way I can keep a local copy of my files with me at all times. I pretty much fill a 64GB SD card this way.
Under 4.3 and earlier, I used /storage/extSdCard (or /mnt/extSdCard ) as my mount point to access my external SD card, and everything worked fine.
However, under KitKat, rsync was having a very strange issue. Attempts to rsync a file would result in:
rsync - failed to set time on file
for any file that it tried to transfer. It seemed like it was transferring the file, but was unable to change the timestamp on the file.
The solution turns out to be visible if you run Android Terminal Emulator and look at the output of the mount command. Tracing through that, I discovered that there is also a less-obvious alternate mount point, which is:
/mnt/media_rw/extSdCard
And, indeed, using that as an rsync target solves the timestamp problem.
Felt this should be posted somewhere, hope this is the right place.
Thanks.
Glen
Nice find bro!!
Sent from my SM-G900W8 using XDA Premium 4 mobile app
Amazing. Thank you.
I'm having the same problem on Lollipop and I don't have that mount point. I tried both /mnt/extSdCard and /storage/sdcard1 and both still get the error. Any ideas?