Android 特权许可白名单

 

极力推荐文章:欢迎收藏
Android 干货分享 

 

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

一、priv-app 白名单简介
二、添加priv-app 白名单
三、生成priv-app白名单
四、自定义priv-app白名单
五、查找缺少的priv-app权限
六、执行priv-app白名单
七、priv-app 中申请权限未添加特许白名单遇到的坑

一、priv-app 白名单简介

特权应用程序是位于/system/priv-app系统映像目录中的系统应用程序 。从历史上看,设备实施者几乎无法控制哪些特权权限可以授予特权应用程序。从Android 8.0开始,实现者可以在/etc/permissions目录中的系统配置XML文件中明确地将特权应用程序列入白名单。未在这些XML文件中明确列出的应用程序未被授予特权权限。

特别注意事项
仅对 具有package =“android”的应用程序声明的 权限才需要白名单 。Google Play进展使用com.examplecom.android命名空间。

二、添加priv-app 白名单

应用程序的权限白名单可以列在frameworks/base/etc/permissions目录中的单个或多个XML文件中,如下所示:

frameworks/base/etc/permissions/privapp-permissions-OEM_NAME.xml
frameworks/base/etc/permissions/privapp-permissions-DEVICE_NAME.xml

组织内容没有严格的规则。只要所有应用程序/system/priv-app都列入白名单,设备实施者就可以确定内容结构 。例如,GoogleGoogle开发的所有特权应用程序都有一个白名单。我们建议使用以下组织:

  • 已包含在Android开源项目(AOSP)中的应用的权限列于
    /etc/permissions/privapp-permissions-platform.xml
  • Google应用程序的权限列于
    /etc/permissions/privapp-permissions-google.xml
  • 对于其他应用程序,请使用以下形式的文件:
    /etc/permissions/privapp-permissions-DEVICE_NAME.xml

三、生成priv-app白名单

要为系统映像上的所有可用应用程序自动生成白名单,请使用AOSP命令行工具 development/tools/privapp_permissions/privapp_permissions.py。要生成特定于设备的初始版本 privapp-permissions.xml

1.构建系统映像:

  . build/envsetup.sh
    lunch PRODUCT_NAME
    make -j

2.运行该privapp_permissions.py脚本以生成一个privapp-permissions.xml文件,该 文件列出了要列入白名单的所有签名特权权限:

development/tools/privapp_permissions/privapp_permissions.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值