我正在运行一个扎根的Android-6 Marshmallow媒体盒。
对于它我连接了一个外置USB驱动器,格式化为NTFS(我相信它的NTFS。自我设置以来已经有很长一段时间了。)
驱动器安装为:
/mnt/media_rw/<15-digit-hex-number>
权限目前为 rwxrwx --- (0x770)
我不知道发生了什么变化,但我曾经能够 WRITE 到那个USB驱动器。不再。现在只能 READ 。同样,Android文件管理器应用程序 Root Explorer 用于能够自由更改该顶级目录的权限(将其更改为 0x777 )以及文件和它下面的目录。再一次,不再。
按照其他地方的规定,我将适当的添加内容纳入以下系统文件:
/system/etc/permissions/platform.xml
[ ... snip ... ]
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
[ ... snip ... ]
当我尝试WRITE访问该目录时(意味着进入USB驱动器),我获得了权限被拒绝;以及当我使用 Root Explorer 来放宽对该目录的权限以获得访问权限时(也允许拒绝权限)。
我没有升级Android或类似的东西。它刚刚停止工作。
有人对如何解决此问题有任何建议吗?
提前谢谢你。
答案 0 :(得分:0)
在我发布这个冗长的问题后不久,我偶然发现了问题。必须通过备用路径/路径访问该挂载点:
/storage/<15-digit-hex-number>
我相信发生的事情是,虽然访问该文件夹的特定应用程序之前可以通过指定的原始路径(在问题中)这样做,但该路径/路径可能在某种程度上是限制性的/特殊的,并且该应用程序突然开始尊重限制(因此不能再通过原始路径写入)。我刚刚通过查看写入同一位置的其他应用程序发现了这一点,并注意到它正在使用的备用路径/路由(即上面的那个)。
如果您遇到此问题,请尝试在 / storage / 处启动路径遍历。
答案 1 :(得分:0)
我也遇到了同样的问题,甚至意识到root用户在从USB存储设备写入(甚至获取信息)方面都遇到了问题。
不幸的是,我没有可见的/ storage / <15-digits>文件夹,带有或没有root。
我的应用实际上回退到了SAF,它允许对外部存储(实际SD卡)进行读/写,并且可以在USB存储上正常工作。但是它很慢,就像地狱和路径绝对不是用户友好的!
更深入地研究,root可以列出任何文件夹的文件,但无法使用直接路径获得有关特定文件或文件夹的信息!?
因此,我的解决方案(已为外部存储实现)是将USB存储视为外部存储,并在必要时回退到SAF(主要是将数据写入USB存储)。并且我调整了root权限,以使用显示所有数据的文件列表(ls -l的自定义版本),而不是尝试获取文件/目录的直接信息。
因此,最容易获得USB存储的完全访问权限是通过SAF文件系统。可以,但可以使用各种技巧!
在运行带有2019年2月补丁的Android Pie的Pixel 3上进行了测试。
FWIWI,自Android N起,platform.xml不再定义这些权限,这些权限现在存储在packages.xml中。