V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
20150517
V2EX  ›  Android

为什么安卓还不支持使用 ext4 格式的 tf 卡?

  •  
  •   20150517 · 2018-05-11 22:00:16 +08:00 · 9722 次点击
    这是一个创建于 2148 天前的主题,其中的信息可能已经有所发展或是发生改变。

    exfat 格式问题太多,主要毛病就是权限,意味着所有 storage 权限的 app 都能随意读你 tf 卡上所有的目录文件 如果改成用 ext4 这种格式,你就能设置 owner,限制 app 去随意读取所有目录,不是满好吗?

    为啥安卓不支持这样?还是我错过了什么要点?

    13 条回复    2018-05-13 01:51:41 +08:00
    ju5t4fun
        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
    choury
        2
    choury  
       2018-05-11 22:50:09 +08:00
    android 的权限管理和 Linux 原生的差别还是挺大的,而且现在支持可插拔 tf 卡的手机都没几个了,就算可以用的基本也是格式化成内部存储类似的了,这个时候你就不用关心底层用的什么文件系统了,以前是通过 fuse 操作的,不管底层哪种文件系统,反正都是软件控制权限。现在用的是 sdcardfs 了,不过也是有权限控制的。
    至于安卓的 sd 卡的权限这个问题,完全是因为 app 不按照规范来,每个 app 在 sd 卡上都有一个自己单独的不需要权限的目录,而需要申请权限的是整个 sd 卡的完全控制的权限,理论上除了文件管理类的 app,都不应该申请这个权限。
    ju5t4fun
        3
    ju5t4fun  
       2018-05-11 22:52:07 +08:00
    怎么修改回复啊,字还没打完就自动提交了,还带上了一堆奇怪的东西
    LittlePaper
        4
    LittlePaper  
       2018-05-11 22:58:29 +08:00
    觉得主要是为了兼容 Windows,用 sd 卡就会有在手机和电脑之间用来拷数据的需求。格式化成 ext4 的话卡插到 WIndows 电脑上默认就不识别。印象中 Android 系统本身就是 ext4,而 exFAT 还是微软的专利技术。
    HangoX
        5
    HangoX  
       2018-05-11 23:01:10 +08:00 via Android
    因为外置卡安卓早就不能随便读写了
    isnowify
        6
    isnowify  
       2018-05-11 23:10:51 +08:00 via Android
    htc 的 stock rom 可以把 sd 卡格式化为 ext4,然后和手机自身 rom 合并,这一点很赞
    s82kd92l
        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。
    Love4Taylor
        8
    Love4Taylor  
       2018-05-12 00:05:18 +08:00 via Android
    @isnowify 原生的功劳 忘了是哪个版本开始的了
    redsonic
        9
    redsonic  
       2018-05-12 04:06:56 +08:00
    好像早前很多山寨机支持,其实只要 vold 和 volume 里面改几行代码就能支持。所以应该不是技术问题,而是主要这种可移动存储设备一般用户都是插 windows 上的,如果提供 ext 选项则一般用户根本不懂,乱选了以后插 windows 上不认 ,google 吃力不讨好。
    honeycomb
        10
    honeycomb  
       2018-05-12 08:36:31 +08:00 via Android
    @ju5t4fun 使用 adopted storage 后估计就格式化成 ext4 了
    iwtbauh
        11
    iwtbauh  
       2018-05-12 12:23:34 +08:00 via Android
    lineageos 14.1 ( android 7.1.2 )我试过 ext4 的 tf
    支持是支持的,但是权限问题很麻烦,所以还是用了 exfat
    skylancer
        12
    skylancer  
       2018-05-12 21:30:47 +08:00
    因为早在 Android 6 开始应用就不能读写外部存储卡了
    flynaj
        13
    flynaj  
       2018-05-13 01:51:41 +08:00 via Android
    新出的手机基本不支持 TF 卡,小米系列早就不支持了,问题多多
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1236 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 18:01 · PVG 02:01 · LAX 11:01 · JFK 14:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.