Default sync folder on Android

Hi! I have been using syncthing on Android for a while and I noticed the location of the default Sync folder is under /data. AFAIK that folder is not readable or writable by any other process… I think the default location needs to change to a shared location… What do you think?

You mean the folder that ~ points to?

This was because there were some problems with using the sd card by default afair, but I will see if this can be changed back.

CAUTION: This is a complicated matter.

On Android devices using Android 4.3 (Jelly Bean) and earlier versions, read / write access to the External SD card was permitted. Beginning with KitKat 4.4.x, this permission was blocked for 3rd party apps.

Bottom line - google created a crappy situation. There are some work-arounds available for rooted 4.4 devices, but unrooted devices continue to be denied full access to the SD card.

Please try to keep Syncthing-Android accessible to the largest % of Android phones possible. Whatever default path ~ points to, please ensure that users retain the ability to manually point to the internal flash memory.

Thanks

Yes. I think it’s a small thing (apparently) that causes a lot of usability problems. If I can’t access/change these files why would I install Syncthing on the mobile?

This shouldn’t be an issue of you use the native GUI. In the web GUI, you can just write /sdcard/ for those paths.

Perhaps the user should be forced to choose this “tilde” parameter using the folder picker activity during the first run after they read the warning text. It will solve the problem as well as introduce less technical users (more people than you might believe) to the concept that their Syncthing repositories are just folders on a hard disk like they are familiar with on their laptops/desktops. This is especially important in the app’s current state where users must be adept with a separate file explorer to actually use Syncthing.

This could make sense if it was displayed only when opening the web GUI (with an explanation). It would also need an option to change the path.

I see what you mean. I’m assuming that the web gui will not be a permanent fixture in the app, right? For efficiency’s sake as a developer with limited resources and time it makes sense to leverage the nice GUI already created, but I don’t think it is a good long term solution for the app. Is there anything in the web GUI that you haven’t implemented in the app directly? Seems like it’s all there.

You’re right, it’s more of a workaround for things that are missing/broken.

Eg node selection for repos is broken atm, some settings (compression/versioning) are missing.

Hi & Thanks for the explanation.

In case I need to store files on the SD card (size of folder…) what should I do (at my own risk bla bla bla)?

Thanks in advance.

Since I wrote those comments, I have a new Android device. Unrooted, 4.4.4, and no SD slot. And of course St evolved from 0.9 to 0.12

On my current device, Syncthing points to /storage/emulated/0/ … which is internal storage.

Let’s see if anyone with an SD capable device comes along to answer your question. Sorry.

As long as you are not running Android 6 and have the SD Card set up as an additional “internal memory”, Android will prevent Apps from writing to the SD Card.

This means, Syncthing can only read from SD Card and you have to manually create the .stfolder file.

So syncting data from the Phone to another node will work, but no two way sync.

If you root your device, you can probably get two way sync to work.