外部SD卡无法写入

Androidmanifest权限声明内容:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
        <group gid="sdcard_rw"/>
    </uses-permission>  
    <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" >
        <group gid="media_rw"/>
    </uses-permission>
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">
</uses-permission>  
看到sd目录和extsd目录的权限相同,都是system,但用户组不一样
sd是sdcard_rw,外部sd是media_rw



解决:

可以简单处理,修改一下extsd的用户组到sdcard_rw
修改system/vold/Volume.cpp  542行

if (primaryStorage) {
            // Special case the primary SD card.
            // For this we grant write access to the SDCARD_RW group.
            gid = AID_SDCARD_RW;
        } else {
            // For secondary external storage we keep things locked up.
            gid = AID_MEDIA_RW;
        }



改为

if (1) {
            // Special case the primary SD card.
            // For this we grant write access to the SDCARD_RW group.
            gid = AID_SDCARD_RW;
        } else {
            // For secondary external storage we keep things locked up.
            gid = AID_MEDIA_RW;
        }

你可能感兴趣的:(外部SD卡无法写入)