我为一家制造包含硬件加密引擎的SD存储卡的公司工作。我们通过写入/读取特殊文件与加密模块进行交互。
从KitKat开始,外部SD卡似乎不支持O_DIRECT
标志。如果没有O_DIRECT or O_SYNC
支持,当我们从SD卡读取加密引擎的响应时(通过我们的特殊文件),操作系统将返回缓存数据。
是否有使用O_DIRECT or O_SYNC
打开永久SD卡上的文件,读/写的程序?
答案 0 :(得分:0)
如果您具有对手机的root访问权限,则可以将1写入/ proc / sys / vm / drop_caches以清除页面缓存(请参阅http://linux-mm.org/Drop_Caches)。在该命令之后,sdcard上的下一次读取将返回非缓存数据。
对于stock-devices(你没有/ proc / sys / vm / drop_caches的权限),AOSP中存在一个问题(你可以为它加注星标): https://code.google.com/p/android/issues/detail?id=67406