exfat 格式问题太多,主要毛病就是权限,意味着所有 storage 权限的 app 都能随意读你 tf 卡上所有的目录文件 如果改成用 ext4 这种格式,你就能设置 owner,限制 app 去随意读取所有目录,不是满好吗?
为啥安卓不支持这样?还是我错过了什么要点?
1
ju5t4fun 2018-05-11 22:48:08 +08:00
安卓根本就不想让别人用 sd 卡 https://www.baidu.com/baidu?&ie=utf-8&word=sd 卡%20tf 卡&tn=98012088_4_dg&ch=10
|
2
choury 2018-05-11 22:50:09 +08:00
android 的权限管理和 Linux 原生的差别还是挺大的,而且现在支持可插拔 tf 卡的手机都没几个了,就算可以用的基本也是格式化成内部存储类似的了,这个时候你就不用关心底层用的什么文件系统了,以前是通过 fuse 操作的,不管底层哪种文件系统,反正都是软件控制权限。现在用的是 sdcardfs 了,不过也是有权限控制的。
至于安卓的 sd 卡的权限这个问题,完全是因为 app 不按照规范来,每个 app 在 sd 卡上都有一个自己单独的不需要权限的目录,而需要申请权限的是整个 sd 卡的完全控制的权限,理论上除了文件管理类的 app,都不应该申请这个权限。 |
3
ju5t4fun 2018-05-11 22:52:07 +08:00
怎么修改回复啊,字还没打完就自动提交了,还带上了一堆奇怪的东西
|
4
LittlePaper 2018-05-11 22:58:29 +08:00
觉得主要是为了兼容 Windows,用 sd 卡就会有在手机和电脑之间用来拷数据的需求。格式化成 ext4 的话卡插到 WIndows 电脑上默认就不识别。印象中 Android 系统本身就是 ext4,而 exFAT 还是微软的专利技术。
|
5
HangoX 2018-05-11 23:01:10 +08:00 via Android
因为外置卡安卓早就不能随便读写了
|
6
isnowify 2018-05-11 23:10:51 +08:00 via Android
htc 的 stock rom 可以把 sd 卡格式化为 ext4,然后和手机自身 rom 合并,这一点很赞
|
7
s82kd92l 2018-05-11 23:45:28 +08:00
android M 之后可以有 adopted storage,应该就是用的 ext4 格式。
至于外置 sd 卡,出于便携性原因对文件设置 uid/gid permission 并不方便。如果你用过 linux 就知道,ext4 即使是在两台 linux 电脑之间使用也是 PITA,因为两台机器上用户 uid 如果不一样就得动用 root 修改文件 uid/gid。 |
8
Love4Taylor 2018-05-12 00:05:18 +08:00 via Android
@isnowify 原生的功劳 忘了是哪个版本开始的了
|
9
redsonic 2018-05-12 04:06:56 +08:00
好像早前很多山寨机支持,其实只要 vold 和 volume 里面改几行代码就能支持。所以应该不是技术问题,而是主要这种可移动存储设备一般用户都是插 windows 上的,如果提供 ext 选项则一般用户根本不懂,乱选了以后插 windows 上不认 ,google 吃力不讨好。
|
11
iwtbauh 2018-05-12 12:23:34 +08:00 via Android
lineageos 14.1 ( android 7.1.2 )我试过 ext4 的 tf
支持是支持的,但是权限问题很麻烦,所以还是用了 exfat |
12
skylancer 2018-05-12 21:30:47 +08:00
因为早在 Android 6 开始应用就不能读写外部存储卡了
|
13
flynaj 2018-05-13 01:51:41 +08:00 via Android
新出的手机基本不支持 TF 卡,小米系列早就不支持了,问题多多
|