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 到外部硬盘。
我已经从设备树 /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 到外部硬盘。