[html]
對於android的sdcard不能直接通過chmod命令來修改對於system組的讀寫權限。但是可以通過修改源碼方式實現,其實也很簡單,方法如下:
android2.2以後修改
修改/system/core/vold/Volume.cpp 文件
將
[html]
Fat::doMount(devicePath, "/mnt/secure/staging", false, false, false,
1000, 1015, 0702, true))
修改為:
[html]
Fat::doMount(devicePath, "/mnt/secure/staging", false, false, false,
1000, 1015, 0002, true))
參數含義:
1000代表的是uid,即sytem
1015代表的是gid,
0002:是對權限的掩碼
0002:表示 system: rwx-rwxr-x,此時system有讀寫執行權限
如果system不需要寫權限可以將0002改為
0202: 表示 r-xrwxr-x。
默認的0702代表 —rwxr-x
。
然後將vold重新編譯一下,用adb push 命令push到 /system/bin/目錄下。重新啟動一下機器就OK瞭。
對於android 2.1以下:
可以
修改/system/core/vold/volmgr_vfat.c
[html]
rc = mount(devpath, vol->mount_point, "vfat", flags,"utf8,uid=1000,gid=1000,fmask=711,dmask=700,shortname=mixed");
改為
[html]
rc = mount(devpath, vol->mount_point, "vfat", flags,"utf8,uid=1000,gid=1000,fmask=0,dmask=0,shortname=mixed");
這裡的dmask和fmask和上面的作用類似。通過改寫711和700可以配置出不同的權限。
摘自 weidawei0609的專欄