Android 上的 FUSE(用户空间中的文件系统)支持

san*_*ndy 4 android fuse linux-kernel

我正在尝试一个需要为我的设备启用基于云的文件系统的应用程序。为此,我必须在我的 Android 设备中支持 FUSE。我在华硕平板电脑上使用 Android 4.4.2 版。然而我搜索了很多,但没有找到一些令人满意的答案来确保Android是否支持Fuse。因此,我几乎没有以下问题,

1.根据我的搜索结果当我在提供Linux终端的应用程序(Android终端模拟器)上运行cat /proc/filesystems时,我发现cat的结果在那里显示“Fuse”。这是否意味着我的系统支持 Fuse 接口以允许安装用户空间文件系统?

  1. 我还在一些论坛中发现 Fuse 应该内置于内核中,或者它应该作为 /system/lib/module 下的 fuse.ko 模块。但是我的系统不包含 fuse.ko 因此这是否意味着我没有保险丝?

简而言之,我的问题是如何确保 Android 设备上的 FUSE ?我是 Android 编程的初学者,因此非常感谢任何帮助。提前致谢。

Chr*_*ton 6

现代版本的 Android 在内部使用 Fuse,例如实现模拟的外部存储。

但是,Android 已被锁定,因此不允许第三方应用程序(大多数情况下不是人类用户)添加额外的文件系统。

对于原生Android,唯一的选择是在应用程序代码中实现类似文件系统的操作,创建一个复制基本文件操作的私有 API,而不实际使用任何文件。在您编写或移植并需要访问远程“文件”之一的代码中的任何地方,您都可以将您的 API 替换为实际文件之一。一个很好的例子是 Android 资产——它们看起来很像文件并且有许多相似的操作,但在运行时它们实际上不是文件,而是 Android 独特的存储机制。

其他任何事情都需要修改 Android 远离库存配置(即,root hacks 等)。