Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Material Files – Open Source Material Design File Manager for Android (github.com/zhanghai)
163 points by dreamingincode on Jan 14, 2024 | hide | past | favorite | 71 comments
Features:

- Open source: Lightweight, clean and secure.

- Material Design: Follows Material Design guidelines, with attention into details.

- Breadcrumbs: Navigate in the filesystem with ease.

- Root support: View and manage files with root access.

- Archive support: View, extract and create common compressed files.

- NAS support: View and manage files on FTP, SFTP and SMB servers.

- Themes: Customizable UI colors, plus night mode with optional true black.

- Linux-aware: Knows symbolic links, file permissions and SELinux context.

- Robust: Uses Linux system calls under the hood, not yet another ls parser.

- Well-implemented: Built upon the right things, including Java NIO2 File API and LiveData.




This has been my go to file manager for years. It is the first thing I install on a new phone. It can even mount network file systems like ftp, sftp, and smb. I use the sftp and it works really well all things considered.

edit: double bonus points because it is available on the privacy centric/open source app store Fdroid.


Same here, really glad to see it show up on HN!

With Simple Mobile Tools being sold to an adware company, there is one less good file manager out there. I always preferred Material Files since I first came across it, but if you're still on Simple this is a good time to make the switch.


> With Simple Mobile Tools being sold to an adware company

Well I missed this happening. I use the calendar, notes, music player (from F-Droid, so hopefully those versions will stay clean) and I loved them because they do exactly what they need to do.

Thank you for the heads up.


My goto used to be MiXplorer, but got into running only FOSS stuff where possible, and now Material Files has filled the role perfectly for me for over a year now.


Android does not natively have any kind of file browser?


It does, it's called DocumentsUI and provides the system file picker. However its main entry point is often hidden, and imo it's still somewhat suboptimal/limited in certain aspects. But it's the only way to access the private Android/data directory right now.

Material Files also provides the ability to easily open DocumentsUI for browsing Android/data.


It does, it's just not the best.


I second this


Supporting Android 5.0+ is impressive, though there was another file manager supporting Android 1.0+ discussed recently https://news.ycombinator.com/item?id=38789958 (I'm impressed by both, not an Android developer, curious how one ensures compatibility with ancient versions; actual testing, a compatibility linter, other?)

I also enjoy Material Files' README, particularly https://github.com/zhanghai/MaterialFiles#why-material-files (a clear articulation of "Why" is always informative) and https://github.com/zhanghai/MaterialFiles#inclusion-in-custo... (clear guidance to upstreams seems relatively uncommon, helps shed light on ecosystem dynamics otherwise invisible to me anyway).


> curious how one ensures compatibility with ancient versions; actual testing, a compatibility linter, other?

Android linter does check that access to APIs added in newer versions is gated behind a version check, for example. But frankly I feel like compatibility with any Android version less than 4 (or even 5) is in practice a non-issue, simply because there are no users with such ancient Android. And the few that would use such devices are so far and between that any issues don't surface


Corollary to your statement: of the very small (<1%) group of users running such ancient versions of Android, 100% read HN and will be responding to your comment. As if it invalidated the stats on actual usage: https://apilevels.com/


My Samsung Galaxy Tab 2 7.0" runs Android 4.2, and I use it to watch videos and play music when practicing piano or exercising


I'm not saying _nobody_ uses those devices, I'm just saying they're sufficiently old that saying _my app supports Android 3.x_ is moot, because the usage on that API will be near 0 anyway, so you never really know if you _support_ that version outside of any testing that you might be doing. Android 4 and lower have estimated share of 0.3%-0.7% depending on a source ([1], [2]). Of course HN users will be more likely to have those devices too. And then of 0.5% users that maybe will install the app some will have no issues, some will have issues but not notice, some will notice but not bother reporting.

[1] https://apilevels.com/ [2] https://www.composables.com/tools/distribution-chart


My perfectly serviceable Barnes and Noble Nook uses Android 4.4 and I use the device almost every single day. Mostly I study with Ankidroid but I would love a web browser for the thing. Being an e-ink device, it is perfect for reading.


This looks perfect... well, just one thing if I may: any "compact mode" planned?

Everything is extremely "spaced" for no apparent reason.

Thank you very much!


Yeah it badly needs that.


I've been using this for months and it works well.

The reason I'm using it over the default file manager of my phone or others is that it's open source. It's a matter of trust.

I install from F-Droid because if an app is both there and on Google Play it's pointless to give Google an easy way to know what I'm using.

F-Droid got much better lately. Strange things don't happen anymore on updates.


I still use ES file explorer pro from ages ago. I transfer the apk from device to device and backed it up on multiple locations. It really provides a unique set of features, browser-like tabs, ftp server/client, ... it makes managing files so much more doable on a phone.

it saddens me that it got removed.


Yes. ES File Explorer is the best. I only resort to these material file explorers when installing any APK as newer Android versions have restricted APK installation from ES File Explorer.

Material UI file explorers have too much wasted screen space and unnecessary slow animations, lack of bottom positioned controls etc. and it makes managing files slow and frustrating.


I use the system one for installing APKs. otherwise totally agreed, these newer ones cater to the new demographics but they sacrifice a lot of usability.

I read a campus-wide study carried by a university. It showed new students don't know about such things as files and folders, they just think their computers (think smartphones) are just a dump of files. So I guessfunctional file managers aren't a priority anymore.


OMG YES! I though I was the only one. Specifically non-pro v3.2.5.5. The Versions after that are an ad ridden mess.


When they started filling it with ads I just stopped updating and went with the pro version. never updated since


Do you know a reputable source to get older-version APK's for it, and which version do you use?

(I did buy it way back when)


Using the non-pro 3.2.5.5 in my case. Got it off apkmirror. Insane that it still work all those Android versions later.


The Android/data and Android/obb show up as empty. which imo steps into, and may or may not qualify as, "breaking backwards compatibility".


Why was it removed? I think I had that for some reason...


I think they got suspected for data collection or something of the sort. I still trust it for some reason as I wasn't very convinced.


How does this compare to Total Commander[0]?

[0] https://www.ghisler.com/android.htm


Different design (Material 2 or 3 v.s. Material 1 mixed with Holo), different UX (e.g. multi-window v.s. dual-pane), Open source v.s. closed source, probably somewhat richer feature set from Total Commander (not entirely sure, didn't try it in depth).


Well this is so far my favourite Android file manager. I simply ignore the built-in file manager on all devices I use and pick Total Commander instead.


Is there an android version of total commander?


whoa, total commander is still a thing? i remember my dad had it on his laptop like 15 years ago lol


Excellent software. It's fully featured (I love the SFTP support and being able to uncompress), customizable, and open source.

Handily beats most of the paid file managers on Android and is one of the first things I install on all Android devices I have.


Is Material Design really a selling point for a tool like this?


Using a system's native UI toolkit is a major selling point for any piece of software.


And following the design guidelines! Ahh, it makes the user experience SO much better.


Switched to this when Simple File Manager went bust. It's wayy better, in terms of design, features, and user experience. I love the file move flow being presented as cut&paste, and other unique tidbits.


What happened to Simple File Manager? I'm using it currently and I don't see a problem with it.



Jeez, thanks for the warning!

Looks like people are forking the project: https://github.com/fossifyorg

But, of course, the question is whether anyone will actually maintain the apps.


Naveen, the admin of the fork is a heavy contributor to the original repos. So I hope its not that difficult for him to maintain the fork. Infact it has started to make its way to Izzysoft on F-Droid

https://apt.izzysoft.de/fdroid/index/apk/org.fossify.gallery


Very cool, thanks for the update!


Oh wow, that's pretty sketchy and I had no idea. Thanks for mentioning it!


I've been using Material Files for a couple years now. I use SMB and SFTP access every day. I also use the FTP server to backup my devices once a month. It's a bit slow but still faster and more reliable than using USB! (I don't know why USB support is so bad on Android, transferring thousands of small files is unbearable. Maybe some devices have better support? Maybe it would work better if I used ADB?)

I used to get it from F-Droid but I'm very thankful that the author took the time to put it on the regular app store as well, it's very convenient!


    I don't know why USB support is so bad on Android, transferring thousands of small files is unbearable. Maybe some devices have better support? Maybe it would work better if I used ADB?
Android abstracts the phone's filesystem as an MTP device, which is terrible when moving a large amount of small files, at least on Windows.

https://en.wikipedia.org/wiki/Media_Transfer_Protocol


Why isn't it possible to just mount it directly, like an external drive?


Used this for years, but after some repressive change to Android I can't access files in the Android/ dir where most apps save their files. Apparently it needs to be rooted for that to work.

So, sadly pointless now. I'm stuck with the default file manager.


Material Files also allows you add a shortcut to the stock file manager (DocumentsUI), using "Add storage" > "Android/data" from app drawer. You may even manually edit the shortcut to point to a specific subdirectory inside Android/data, and I plan to make that easier (so that you don't need to manually URI-encode your path if you edit) in an upcoming version.


Cool, thanks.


I was dealing with this problem today; Total Commander couldn't get to those files (in Android/data/), but this "app" (which is apparently just a launcher for a built-in file browser which somehow acts differently than the preinstalled Files app?) fixes it: https://play.google.com/store/apps/details?id=com.marc.files


Shizuku has made this bearable for me, otherwise I think there is no longer any benefit in running unrooted Android. If I'm going to give up all control of my device I'd rather run iOS.


I have the same issues. Use Total Commander, it can still access these folders.


It's the same for all file managers and the previous way of granting access is now patched via security fixes. If it's still working for you that's very likely because you granted the access before it was fixed, and if you move to a new phone you also likely won't be able to do that any more.


Thank you! I have been searching for a file manager to access e.g. application files. I can not believe this works!

Tested in Samsung Note 10 Lite, recently upgraded to Android 13.


Idk why but android just does that for some reason


This is actually one of the best file manager I've used on Android. I honestly think the app title doesn't do enough justice--It has MORE thing than the fact that it's in material design!


I found the built-in file manager [0] sufficient for me.

[0]: https://imgur.com/l3QIUnP


Keep in mind a lot of phones come with a custom skin and apps made by the manufacturer, and the file managers that come with these phones can be really bad :(


Looks really nice! I've been using FX for years, looks like a lot of similar features, will have to try this.


This is one of a few apps that has perfect support for accessing /data/data directory on rooted phones.


Supports WebDAV too.

Definitely in my go-to set of android apps from fdroid I use. Generally Google is disabled on my phone's now.



Yeah you're right. I forgot I have davx installed, it's seamless for calendars, tasks, and WebDAV provided you have the correct third party apps installed that use it.


NAS support is amazing.


Could you possibly add NFS (client) support?


Whats the point of putting the design choices in the name? If trend changes or someone puts a theme ?;0


Naming is hard, and I already have to implement file management :P

Just kidding. The reason is that I started the project mostly because I wanted a file manager with proper Material Design, and it's very unlikely that I (or AOSP) adopt a completely different design system.


Google has then created a new version of Material design: https://m3.material.io


Yes, and this app adopted it as well. There's a toggle in app settings for Material 3 v.s. the old Material 2 right now, and there used to be one between Material 1 and 2.


  Naming is hard, and I already have to implement file management :P
Makes sense, well done btw :D


I used to love tinkering Android phone and always kept up to date with the newest app possible, and I remember having a Material Design being a major selling point at that time




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: