

Still, to be clear, I'm currently not developing on Android myself, and I have no CI integration for it, so the current level of support is just based on feedback and fixed issues of users. Details of behavior differences are in the docs. The one major documented difference is, it is utf-8 oriented, so if that's your encoding, you get what std::filesystem would do for C++17. There are various differences between boost::fs and std::fs as for example joining absolute paths by operator/ and the above mentioned header-only implementation tries hard to implement std::fs behavior, and when it differs undocumented, I handle it as a bug. It is comparable to boost::filesystem in that it is using its own namespace and so its not the same as std::, but it differs from boost::filesystem in that it pretends to be std::filesystem in questions of api and behavior. These comments have been a few weeks ago, but I just found this discussion and want to add a small detail to the suggested workaround implementation in case someone might think about it: Yes the current implementation is irritating - either don't include it at all, or include it so it links!Īs mentioned further up, there is a workable Android alternative which I am using and haven't had any issues with at If I am reading docs right, this is equivalent of using boost::filesystem, right? It doesn't pretend to be std::?

It'd be better to get them fixed if we can, but I don't think we need to hold back the feature for them. It's going to take me some time to get the test fixes pushed upstream, but if that takes too long I don't think we need to wait for that before shipping it in r22 beta 1.Īs for the two bugs, I don't think those are severe enough that we necessarily need to fix them before shipping. Ability to set the permissions of a symlink is inconsistent (see fchmodat with AT_SYMLINK_NOFOLLOW is very inconsistent #1258).


realpath doesn't fail on non-existent paths on old devices #1260 std::filesystem::canonical will incorrectly succeed for non-existent paths on devices older than API ~19 (not sure exactly when).fchmodat with AT_SYMLINK_NOFOLLOW is very inconsistent #1258 std::filesystem::permissions(symlink_path, p perms, std::filesystem::perm_options::nofollow) will not honor nofollow for devices older than API 23.Tests did uncover two bugs, but they're relatively minor: Everything looks good within a reasonable margin of error.
#ANDROID NDK R14BX86 FULL#
Alright, managed to get a full test run on Jelly Bean.
