在启动的过程中系统读入revoke_permissions文件,在现有apk的权限,去掉在revoke_permissions。如果要更改revoke_permissions,要重启系统,才能生效。

frameworks/base/services/java/com/android/server/pm/PackageManagerService.java

        HashSet revokedPerms = mRevokePermissionPolicy.get(pkg.packageName);
        gp.effectivePermissions = (HashSet) gp.grantedPermissions.clone();                                                                                                                                
        gp.revokedGids = null;
        if (revokedPerms != null) {        
            for (String grantedPerm : gp.grantedPermissions) {
                if (revokedPerms.contains(grantedPerm)) {
                    if (DEBUG_POLICY_REVOKE) {         
                        Slog.d(TAG, "Revoking effective permission " + grantedPerm
                               + " from " + pkg.packageName);                                                                                                                                                     
                    }
                    gp.effectivePermissions.remove(grantedPerm);
                    final BasePermission bp = mSettings.mPermissions.get(grantedPerm);
                    gp.revokedGids = appendInts(gp.revokedGids, bp.gids);                                                                                                                                         
                }
            }
        }

更多相关文章

  1. Android文件上传至服务器
  2. android 系统级别开发环境搭建 .
  3. android 导出
  4. android Q版本外部存储问题以及获取空间大小问题
  5. android java代码调用linux命令续
  6. android load 本地 html 页面
  7. cts测试流程
  8. Android(安卓)源码编译 文件系统制作
  9. android电话处理

随机推荐

  1. VS2019学生版的下载安装并使用
  2. java 读取 application配置文件
  3. Centos8基础,Yum软件包管理
  4. 知乎千赞回答 | 为什么自学python看不进
  5. 一不小心,我爬取了100万条微博评论
  6. 15款好用到爆炸的Jupyter Lab插件
  7. Python地图可视化三大秘密武器
  8. 50个关于IPython的使用技巧,get起来!
  9. 类比MySQL,学习Tableau
  10. 关于虚拟机磁盘格式互转及合并,自带工具VM