随着 Android 13 的到来,Google Pixel 系列移动设备用户,也终于能够原生处理 exFAT 磁盘上大于 4GB 的单个文件了。Esper 科技编辑 Mishaal Rahman 偶然间发现,在将手头的 Pixel 6 Pro 智能机从 Android 12L 升级到 Android 13 之后,系统终于迎来了对可扩展文件分配表(exFAT)的支持。
(来自:esper blog)
Android Police 补充道:变化发生在 Linux 5.10+ 内核上运行的 Android 版本,即从 Android 12L(5.10.81-android12-9)到 5.10.107-android13-4 期间。
如果曾尝试在一台 Google Android 设备上使用过 exFAT 驱动器,应该不会对此感到陌生。
事实上,自微软于 2006 年推出以来,许多 OEM 硬件厂商都在默默为此付费 —— 比如三星就开发了一个 back-pocket exFAT 驱动程序。
好消息是,随着微软于 2019 年公开鼓励将 exFAT 支持集成到 Linux 中,内核社区就开始了积极地拥抱它。而三星的 exFAT 驱动,也最终被改头换面、并融入了 Linux 5.7 。
遗憾的是,期间 Android 内核与下游开发人员并没有想要那么快地跳转版本,而是更愿意对特定版本提供长期支持、以确保平台体验的稳定。
自那时起,Google 维护的 Android Common Kernel 长时间都基于 Linux 5.4 —— 直到 5.10 才形成了一个新的分支。
既然基于 Linux 5.10 内核的 Android 12 设备在技术层面上已支持挂载 / 卸载 exFAT 分区,那为何运行 Android 12L 的 Pixel 6 Pro 又被拦着无法读取 exFAT 驱动器呢?
原因在于,exFAT 的挂载服务(vold / 卷守护进程)会检查它是否可以访问几个特定的“帮助”二进制文件。如果它们不存在,则挂载服务就无法通过检查并正常工作。
不管怎样,我们现在至少已确认这样的调用存在于 Android 13 大版本中 —— 更确切地说,至少一个自定义内核开发者已能够修补 exFAT 驱动程序的二进制检查,因而理论上可将至向后移至到较旧的 Android 版本中。
最后,一旦 Google 在 Android 13 上正式完成了部署,其它 OEM 厂商也将能够直接受益于 Android 开源项目(AOSP)的 esFAT 支持。