2012-04-19 87 views
2

我正在爲Android創建一個應用程序,該應用程序使用戶能夠創建加密的LUKS分區,然後將它們掛載到外部存儲器上的給定目錄。 爲了使分區可用,我使用Busybox mkfs.ext2命令創建一個ext2文件系統。一旦用戶嘗試在分區的根目錄下創建文件/目錄,就會出現問題。由於某些原因,無法通過Java創建文件,因爲「File.mkdirs()」方法失敗。但是,可以通過命令行創建該文件。而這個錯誤只發生在分區的根目錄下(即,如果我通過命令行創建一個文件夾,那麼我可以通過Java在該文件夾內創建文件)。另外,如果我創建了一個vfat文件系統而不是ext2,我可以創建一個文件。在ext2文件系統的根目錄下創建一個新文件

任何幫助將不勝感激。

哈利

編輯

固定。我以root身份登錄文件系統

+0

你是否檢查過你的ext2的權限?應用程序和命令行有不同的uid/gid。 – zapl 2012-04-19 17:46:04

+0

乾杯。這確實與權限有關。我以root身份登錄文件系統! – Harry 2012-04-19 18:43:17

+0

哈里:你能發佈並接受你自己的答案嗎? – Zecas 2012-05-30 09:41:30

回答

0

我對這個問題的最終解決方案是創建一個vfat文件系統,而不是ext2,因爲vfat沒有權限等等......這對我來說很合適,因爲我不需要額外的權限的安全性。但是,如果您需要一個ext2文件系統,您需要以root身份進行掛載,但希望其可以被其他用戶使用,我建議您查看mount ownmask選項(man mount)。

相關問題