如何通过 Android KitKat 在外部 SD 卡上使用 O_DIRECT 或 O_SYNC

2023-12-26

我在一家生产包含硬件加密引擎的 SD 存储卡的公司工作。我们通过写入/读取特殊文件来与加密模块交互。

从 KitKat 开始,O_DIRECT外部 SD 卡似乎不支持该标志。没有O_DIRECT or O_SYNC支持,当我们从 SD 卡(通过我们的特殊文件)读取加密引擎的响应时,操作系统将返回缓存的数据。

是否有一个程序可以打开永久 SD 卡上的文件,读/写,或者O_DIRECT or O_SYNC?


如果您拥有手机的 root 访问权限,则可以将 1 写入 /proc/sys/vm/drop_caches 以清除页面缓存(请参阅http://linux-mm.org/Drop_Caches http://linux-mm.org/Drop_Caches)。在该命令之后,下一次读取 SD 卡将返回非缓存数据。

对于库存设备(您没有 /proc/sys/vm/drop_caches 的权限),AOSP 中存在问题(您可以给它加注星标):https://code.google.com/p/android/issues/detail?id=67406 https://code.google.com/p/android/issues/detail?id=67406

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 Android KitKat 在外部 SD 卡上使用 O_DIRECT 或 O_SYNC 的相关文章

随机推荐