利用可能な標準のユーティリティを使用して、ルート化されていないファクトリデバイスで実行できるカスタムユーザースペースファイルシステムを作成できますか?
私はfuse-androidの存在を知っていますが、私が理解している限り、それはルート化されたデバイスを必要とします。そうでない場合は、私を訂正してください。
私が達成しようとしている目標は、実際にファイルにマウントされる「偽の」FSを作成することです。
利用可能な標準のユーティリティを使用して、ルート化されていないファクトリデバイスで実行できるカスタムユーザースペースファイルシステムを作成できますか?
私はfuse-androidの存在を知っていますが、私が理解している限り、それはルート化されたデバイスを必要とします。そうでない場合は、私を訂正してください。
私が達成しようとしている目標は、実際にファイルにマウントされる「偽の」FSを作成することです。
私はしばらく前に同じ必要があり、それがまったく不可能であることを認めなければならないところまで来ました(ほとんど)。Android 用の libfuse をビルドすることは問題にならないはずです。Java ラッパーも問題ありません。
本当の問題は、私が見たほとんどのシステムがヒューズサポートビルドインでビルドされておらず、ロードできるモジュールを提供していないことです(ルートが必要ですが、とにかく)。
/proc/filesystems を読み取ることで、ヒューズが有効になっているかどうかを簡単に確認できます。ヒューズがリストされている必要があります。そうでない場合は、ルートが必要になります。しかし、ほとんどの Android デバイスはヒューズのサポートなしで構築されている可能性が非常に高いです。
私の他のアイデアは、別のファイルシステムを使用して、ヒューズのようなものを「偽造」することでした。これは、サーバーを自分で実装できる nfs またはその他のネットワーク ファイルシステムで可能になる場合があります。これにより、偽のヒューズを作成できるようになりますが、それだけの価値はないと思います。
編集: また、多くのデバイスにヒューズ サポートが組み込まれている可能性が高い場合でも、ユーザーとしてマウントすることはできません。アプリにはヒューズ ファイルシステムをマウントする権限がないため、ルート アクセスが必要になります。
Luminger はほぼ正しい考えを持っています。Galaxy S3(Verizon)で見つけたものは次のとおりです。
適切なヒューズは/proc/filesystems にあります。何かがそれを使用しているに違いありません。おそらくシステムです。ただし、「fusermount」を実行しようとすると、「実行できません -- 権限が拒否されました」というメッセージが表示されます。
すべての FUSE がそこにあるように見えますが、デバイスをルート化せずに実際に直接 (dropbox? sshfs?) 使用できるかどうかはわかりません。