2

ユーザーが暗号化された LUKS パーティションを作成し、それらを外部メモリ上の特定のディレクトリにマウントできるようにする Android 用のアプリケーションを作成しています。パーティションを使用可能にするために、Busybox mkfs.ext2 コマンドを使用して ext2 ファイル システムを作成します。この問題は、ユーザーがパーティションのルートにファイル/ディレクトリを作成しようとすると発生します。「File.mkdirs()」メソッドが失敗するため、何らかの理由で Java を介してファイルを作成することはできません。ただし、コマンドラインからこのファイルを作成することは可能です。このエラーは、パーティションのルートにある場合にのみ発生します (つまり、コマンド ラインでフォルダーを作成すると、Java を使用してそのフォルダー内にファイルを作成できます)。また、ext2 の代わりに vfat ファイル システムを作成すると、ファイルを作成できます。

どんな助けでも大歓迎です。

ハリー

編集

修理済み。ファイルシステムをルートとしてマウントしていました

4

1 に答える 1

0

この問題に対する私の最終的な解決策は、vfat にはパーミッションなどがないため、ext2 ではなく vfat ファイル システムを作成することでした。ただし、ルートとしてマウントする必要があるが、他のユーザーが使用できるようにする必要がある ext2 ファイル システムが必要な場合は、mount ownmask オプション (man mount) を調べることをお勧めします。

于 2012-06-09T15:58:01.657 に答える