Using large programs on a small Android device


I have a new Samsung Galaxy Young GT-S6312 phone running Android 4.1.2

I want to run OSMAND+ Maps and Navigation. I have installed it, and despite the small screen size, the program is quite useable - not as good as on my HTC One, but more than adequate.

Unlike Google, the OSMAND+ maps and navigation stores all the data on the phone, no network access required, which is extremely useful in India, where sometimes I don't even have a voice connection, let alone data.

I believe the phone uses 50 megs for the program, 100 megs for the world base map, and another 150 megs for the India maps. There are other files as well. I've got everything installed, and the software is working fine.

Google/Samsung/Android somehow decided to remove the option to move software to an SD memory card, which is what I would have done if I could.

The phone has 1.5 gigs of memory for all user-added files, and I'm using a good part of that now for ordinary data files, that I would rather have on an SD memory card. I would like to find a way to relocate the data files. I think my choices are to find a way to do this in the program, or to find a way to move "OSMAND" to the external (not internal) SD card. Maybe there are others I haven't thought of.

If I understand the following thread correctly, if I 'root' the phone, I can do this:
[TOOL] DirectoryBind - move data to external_sd (GameLoft, Shadowgun etc.) ROOT req. - xda-developers

A better idea might be to find a way to have OSMAND relocate the files for me, so it "knows" where to find them..... I have no idea how to do this, or even to find an OSMAND forum in which to ask.

Any suggestions?


Android Expert
I know nothing about Android except that it's based on Linux which makes me wonder whether you could copy the files to the SD card then replace the orginals with symbolic links to the copies ..

In theory OSMAND would still 'see' the files where it expects to find them even though they'd actually be on the SD card.

From a command prompt the syntax would be something like:

ln -s <actual file path+name> <symbolic link name>


ln -s /sdcard0/maps/

(Assumes your default directory is wherever you want the symbolic link to exist)

I assume it would have to be a soft link as I guess the phone sees the SD card as a different file system - but I could be wrong: my unix isn't that good.


Thread starter
It's a phone, not a computer. My suggestion (if you want to run big programs on a small device) is to get a Netbook or even one of those tablet PCs.

I guess for you it's a phone; that's cool, if you enjoy seeing it that way.

For me, by any definition I think is appropriate, it is a computer, that just happens to also make phone calls. It's small in size, but has more power than my Altos 68000 running UNIX System III a lifetime ago.

I already have a "Netbook", and have no use or need for a tablet. Like I said, this phone already does what I want it to do with OSMAND maps. All I want to do, is move things from the limited phone memory, to the abundant memory available on an SD card.

Maybe you're new to this, and don't remember the pains people went through a long time ago, to minimize program size, file size, etc.

Anyway, thanks for the thought, but it's not very helpful to me.


Moderati ergo sum
Android is very specifically designed to put app data in the /sdcard partition. Asking it not to do that, or to trick it into thinking it's there when it's somewhere else will require root. I don't think there's any way around that. If this is something you want to do, we can help with that.

I am not sure about stock 4.1.2 from Samsung, but right around that version there was a change in the way the volumes are managed. Prior to that, volumes were static partitions within the device memory, but after the volumes are virtualized and dynamically allocated making total device ram available to apps and storage. If that version is using the virtualized volumes, then DirectoryBind will not work. (You'll lose your links with any reboot.)

Instead take a look at Folder Mount to solve your problem. Of course, root is required here, too.

Now, personally I would try and avoid moving dynamic content like apps and databases to an SD card. They are slower and prone to failure when overtaxed. And when they go, there is little or no warning ... just *poof* .... gone. If you do move important content to an SD card, please be sure to clone the complete volume to either a PC or another SD card so if it does go south on you you have a working backup. (and don't forget to test your backup, too.)


Thread starter
Result of the above - uninstalled the app completely, and deleted the data folder for OSMAND on the internal sd card memory. Reinstalled the app, selected the external sd card memory, and downloaded all the data again.

(Probably could have just used the file manager to move things, but this way felt safer.)

Before I did this, I had 318 megs free on the device memory, and 1883 megs free on my 2GB card.

After doing this, I have 699 megs free on the device memory, and 1444 megs free on the card.

As was suggested by others, I will make a backup copy of the information on the SD card. This might be part of the Kies software I am in the middle of setting up, to go with the phone. ......and I am still amazed that this little "toy" phone can do as much as it does, while costing the equivalent of US $80 ......and with dual SIM card support built in!!!! And to top it off, it makes a perfect Wi-Fi hotspot. There's got to be a catch somewhere, but I haven't yet found it...