Android extsd open failed: EACCES (Permission denied)

时间:2020-12-15 22:59:32

之前处理外置sdcard的时候没有出现权限问题,今天操作一个新的设备的时候,报如题错误。

需要修改以下信息,/etc/permissions/platform.xml,因为在4.0之后读写设备的权限又被细化了分为1. sdcard_rw, 2. media_rw.

内置的sdcard分区权限为sdcard_rw

d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Alarms
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 DCIM
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Download
d---rwxr-x system   sdcard_rw          2014-06-11 11:29 LOST.DIR
d---rwxr-x system   sdcard_rw          2014-07-22 11:03 Media
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Movies
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Music
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Notifications
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Pictures
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Podcasts
d---rwxr-x system   sdcard_rw          2014-06-11 11:30 Ringtones

外置的sdcard,我目前遇到过是media_rw

d---rwxr-x system   media_rw          1970-01-01 08:00 179_1

如果系统中/etc/permissions/platform.xml,定义android.permission.WRITE_EXTERNAL_STORAGE" 有对media_rw的描述,那么通过在AndroidManifest.xml添加读写存储权限就可以操作外置sdcard,反之,需要修改platform.xml文件,添加media_rw权限,然后重启就可以生效。

 <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >             
        <group gid="sdcard_rw" />                                              
        <group gid="media_rw"/>                                        
    </permission>