关于外置SDCARD权限问题

今天应用层的说是apk没法在外置SDCARD写数据,豌豆荚也建立不了,我仔细在adb下看了SDCARD的权限,如图:android

我要说的是EXTSD(sdcard是系统从nand分配的内存),拥有者是SYStem,media_rw为用户组,拥有者是没有读写权限的,而media_rw是可读可写可执行的,其余用户是没有写的权限(因而可知该APK所属其余用户),这个问题我尝试这在init.rc中用chmod 777 /mnt/extsd 来增长权限,可是惋惜的是在系统启动的时候经过串口ll查看确实是改过来了 ,可是等android彻底跑起来以后,经过ADB查看,仍是原样的075的权限;web

缘由是在VOLD的检测到外置SDCARD的时候又从新分配了权限;安全

怎么解决呢?this

第一是:spa

修改源码system/vold/Volume.cpp

if (primaryStorage) {
            // Special case the primary SD card.
            // For this we grant write access to the SDCARD_RW group.
            gid = AID_SDCARD_RW;
        } else {
            // For secondary external storage we keep things locked up.
            gid = AID_MEDIA_RW;
        }
改成

if (1) {
            // Special case the primary SD card.
            // For this we grant write access to the SDCARD_RW group.
            gid = AID_SDCARD_RW;
        } else {
            // For secondary external storage we keep things locked up.
            gid = AID_MEDIA_RW;
        }
orm

方法二:xml

在android/out/target/product/wing-k70/system/etc/permissions目录下的platform.xml内存

若是没有源码的话,就下个ES,修改一样是修改system/etc/permissions目录下的platform.xmlci


get

<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
      <group gid="sdcard_rw" />
    </permission>
改成
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
      <group gid="sdcard_rw" />
      <group gid="media_rw" />
    </permission>

保存,重启。全部的应用都可以打开extsd卡上文件并修改保存,pptv也能把下载地址设置为extsd。另外360手机助手也能直接操做extsd卡上的内容进行删除。

在到/mnt下ll,如图:

extsd的权限已改成777;

这样作只是能保证咱们的APK能读写外置SDCARD,可是有没有安全的问题,有待发现!

相关文章
相关标签/搜索