Android: 无法从外部存储读取并且无法在 /storage/sdcard0 中创建文件夹

Android: Cannot read from external storage and cannot create folder in /storage/sdcard0

我已经从设备树 /dev/block/sda1 到 /storage/emulated/legacy 安装了一个外部 ext4 硬盘驱动器。我的 mainActivity 正在尝试访问 /legacy/data/abc.txt 下的文件。但是它无法到达它。 /legacy/data 的所有者是 root。

此外,mainActivity 尝试使用 foldername.mkdir() 在 /storage/sdcard0/results 下创建一个名为 folderx 的文件夹,但它不能。 /storage/sdcard0/results 也归 root 所有。

我已经使用 chmod 777 更改了对这两个文件夹的权限。我怀疑问题是 root 是所有者,而 mainActivity 以不同的用户身份运行。但是我不知道所有者应该更改为什么。

有什么想法吗?

格式化外部 NTFS 硬盘以在 CHT RVP 上使用

   mkfs -t ext4 /location/of/hdd

在 /system/etc/permisssions 中编辑 platform.xml:参考 http://technofaq.org/posts/2014/04/fixing-external-sd-card-write-issue-on-android-kitkat/ 为外部存储权限添加额外的组定义:<group gid="media_rw" /> 保存对文件的更改 重启设备

在CHT RVP上挂载格式化后的硬盘: mount -t ext4 /dev/block/sda1 /storage/sdcard1 /* /dev/block是设备树,/storage/sdcard1是你挂载硬盘的位置

将 /storage/sdcard1 的所有者更改为 media_rw:

chown -R media_rw:media_rw /storage/sdcard1

更改权限:

chmod -R  777 /storage/sdcard1

完成了。您应该可以 read/write 到外部硬盘。