frameworks/base/data/etc/platform.xml中添加如下修改
<permission name="android.permission.READ_EXTERNAL_STORAGE" >
<group gid="media_rw" />
</permission>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="media_rw" />
<group gid="sdcard_rw" />
</permission>
<permission name="android.permission.READ_EXTERNAL_STORAGE" >
<group gid="media_rw" />
</permission>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="media_rw" />
<group gid="sdcard_rw" />
</permission>
system/vold/PublicVolume.cpp修改如下代码
if (vfat::Mount(mDevPath, mRawPath, false, false, false,
- AID_MEDIA_RW, AID_MEDIA_RW, 0007, true)) {
+ AID_MEDIA_RW, AID_MEDIA_RW, 0001, true)) {
PLOG(ERROR) << getId() << " failed to mount " << mDevPath;
return -EIO;
}
0007是权限的掩码,意思是把r w x的权限都屏蔽了,001是只屏蔽x权限。