通過修改源碼實現system組和root使用者訪問sd卡

來源:互聯網
上載者:User

[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的專欄 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.