通过修改源码实现system组和root用户访问sd卡
2534 点击·0 回帖
![]() | ![]() | |
![]() | [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的专栏 | |
![]() | ![]() |