【问题标题】:FUSE (Filesystem in Userspace) support on AndroidAndroid 上的 FUSE(用户空间中的文件系统)支持
【发布时间】:2015-05-26 17:58:06
【问题描述】:

我正在尝试一个需要为我的设备启用基于云的文件系统的应用程序。为此,我必须在我的 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 因此这是否意味着我没有 fuse ?

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

【问题讨论】:

    标签: android linux-kernel fuse


    【解决方案1】:

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

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

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

    其他任何事情都需要修改 Android 使其脱离现有配置(即 root hack 等)。

    【讨论】:

      【解决方案2】:

      要检查您设备上的 Android 版本支持什么,请下载终端仿真器,然后从命令行运行以下 sn-p 命令减去括号...

      "cat /proc/filesystems"

      然后滚动查看结果以寻找保险丝。这将是一个受支持的文件系统列表,可以将其编译到内核或可加载模块中。

      【讨论】:

        猜你喜欢
        • 2020-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-04
        • 1970-01-01
        • 2020-08-02
        • 2012-10-16
        • 2017-10-04
        相关资源
        最近更新 更多