Android权限警告(not in privapp-permissions whitelist)

1.现象 模块使用了Settings.Global之后,单编模块push到手机里面重启,发现手机卡在开机logo界面,开不了机

2.抓取logcat看log打印会发现如下图片中的打印,主要的关键词为Privileged permissions not in privapp-permissions whitelist

二.查找源码定位问题(Q的代码)

文件路径PermissionManagerService.java(frameworks\base\services\core\java\com\android\server\pm\permission)

三.修改的位置

1.frameworks\base\data\etc 在这个文件夹下面有很多xml文件,除了privapp-permissions-platform.xml文件其他有些文件比如com.android.dialer.xml是单独以包名分开的,可以再里面添加权限 比如我在com.android.dialer.xml文件中添加了权限WRITE_SECURE_SETTINGS的权限

2.对应的模块需要在manifest文件中加上权限android.permission.WRITE_SECURE_SETTINGS

四.如何验证

整编代码-------刷机----------导出文件有没有生效 生成文件目录/system/etc/permissions/privapp-permissions-platform.xml 或者/product/etc/permissions/com.android.dialer.xml 这个生成的目录具体是由同级目录下的Android.bp决定的,实在找不到就find搜索文件

五.快速验证

在手机中adb shell进入目录,导出对应的xml文件,添加好权限,push到源目录,reboot尝试是否可以开机,若可以表示添加的权限是ok的,然后就放心大胆的添加在framework下的对应文件里面,整编ok提交代码上库。

Android权限警告(not in privapp-permissions whitelist) - 知乎 (zhihu.com)
posted @ 2024-02-27 15:02  xiaowang_lj  阅读(81)  评论(0编辑  收藏  举报