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

一.发生错误时候的现象和log打印
1.现象 模块使用了Settings.Global之后,单编模块push到手机里面重启,发现手机卡在开机logo界面,开不了机

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


图片1.png

二.查找源码定位问题(Q的代码)
文件路径PermissionManagerService.java(frameworks\base\services\core\java\com\android\server\pm\permission)


图片2.png

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


图片3.png

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

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


图片4.png

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容