android.uid.system下解决sdcard读写问题

因为在做一个项目时发现在有Manfast.xml文件sharedUserId="android.uid.system时,即使你加了权限:

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.INTERNET"/>  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

也还是不能操作sdcard,那么如何解决这个问题?


第一:把sharedUserId="android.uid.system去掉即可,但是我们必须要sharedUserId="android.uid.system那怎么办呢?



第二:修改源码下的/system/vold/Volume.cpp

将Fat::doMount(devicePath, "/mnt/secure/staging", false, false, false, 
                1000, 1015, 0702, true))  

修改为:

Fat::doMount(devicePath, "/mnt/secure/staging", false, false, false, 
                1000, 1015, 0002, true)) 

再将Vold编译一下,将生成的out/..../system/bin/vold push到机器的system/bin中就ok了,已经过验证。



你可能感兴趣的:(sdcard读写问题)