1

在我的纯 C++ 本机进程(我使用 adb 从终端运行)中,我试图直接从 Android 2.3 SGS2 中的 SD 卡读取一个块。我的代码以 root 权限运行,所以没关系。

我知道 SD 卡内存映射到/sys/block/mmcblk1所以我打开它:

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

成功了。现在,当我试图从中读取时:

bytes_read = read(fd, buffer, 4096);

我收到一个错误:“是一个目录”

好吧,我知道这是一个目录,但它仍然应该可以工作,也许还有其他一些标志处于打开状态?

我怎样才能做到这一点?

4

1 回答 1

0

哈哈!我的错误确实是我试图从目录中读取/sys/block/mmcblk1。但我应该尝试阅读/dev/block/mmcblk1

效果很好。

于 2012-12-06T12:39:00.470 回答