2012-12-05 42 views
1

在純粹的C++本地進程中(我使用adb從終端運行),我試圖直接從Android 2.3 SGS2中的SD卡中讀取塊。我的代碼使用root權限運行,所以它應該沒關係。使用Android直接讀取/寫入SD卡

我知道SD卡存儲器映射到/sys/block/mmcblk1所以我打開它:

int fd = open("/sys/block/mmcblk1", O_RDONLY); 

其成功。現在,當我試圖從中讀取數據:

bytes_read = read(fd, buffer, 4096); 

我得到一個錯誤:「是目錄」

嗯,我知道這是一個目錄,但它仍然應該工作,也許與其他一些旗幟在公開?

我怎樣才能做到這一點?

+0

安裝是否成功? – Raptor

+0

我不會執行mount操作,但它已經掛載了,因爲我可以通過adb shell進入/ sys/block/mmcblk1目錄並查看其中的內容...... – Bush

回答

0

哈哈! 我的錯誤確實是我試圖從目錄/sys/block/mmcblk1中讀取。 但我應該嘗試從/dev/block/mmcblk1讀取!

這是完美的。