搜索

28

主题

32

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
发表于 2020-8-3 11:34:16 4738 浏览 0 回复

android8.0以后的版本出现第三方app没有读写U盘的权限,而系...

1.第三方app无法申请"android.permission.WRITE_MEDIA_STORAGE"。这是系统级别的权限,
        解决方式,修改源码:
        system/vold/PublicVolume.cpp或者system/vold/model/PublicVolume.cpp
        doMount()方法中,
        if (!(mFusePid = fork())) {
        if (getMountFlags() & MountFlags::kPrimary) {
            if (execl(kFusePath, kFusePath,
                    "-u", "1023", // AID_MEDIA_RW
                    "-g", "1023", // AID_MEDIA_RW
                    "-U", std::to_string(getMountUserId()).c_str(),
                    "-w",
                    mRawPath.c_str(),
                    stableName.c_str(),
                    NULL)) {
                PLOG(ERROR) << "Failed to exec";
            }
        } else {
            if (execl(kFusePath, kFusePath,
                    "-u", "1023", // AID_MEDIA_RW
                    "-g", "1023", // AID_MEDIA_RW
                    "-U", std::to_string(getMountUserId()).c_str(),
                                        "-w",                //add by jyj
                    mRawPath.c_str(),
                    stableName.c_str(),
                    NULL)) {
                PLOG(ERROR) << "Failed to exec";
            }
        }
        给U盘加上-w的参数,传入到system/core/sdcard/sdcard.cpp里面会给根据参数添加权限

回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表