Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 哪些权限可以授予rooted设备?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
简短而简单的问题: @H_673_2@root设备可以在运行时为应用程序授予额外权限(我记得使用adb使用“grant permission”命令).这方面的一个示例是能够读取系统日志,该日志从API16开始成为非用户权限(链接here).

@H_673_2@有这样的权限列表吗?

解决方法

您可能正在虑的命令是pm grant PACKAGE PERMISSION,可以使用adb sHell pm grant PACKAGE PERMISSION将其发送到adb连接的设备. @H_673_2@但是,只能以这种方式授予或撤消可选权限.如果您尝试授予应用程序清单中未请求的权限,则不会允许操作:java.lang.SecurityException:Package PACKAGE未请求权限PERMISSION.同样,如果您尝试撤消不被视为可选的权限,则将不允许操作:java.lang.SecurityException:无法更改PERMISSION.它是应用程序所必需的.即使是有根设备或模拟器.

@H_673_2@现在,就被认为是“可选的”而言,以及获得此类权限的列表,这有点不清楚.但是,基于一些实验,我认为这些至少包括分配给权限组android.permission-group.DEVELOPMENT_TOOLS的权限集.您可以使用pm list permissions -g查看正在运行的设备上的这些内容.在我的API 19仿真器上,以及运行AOSP 4.4.4的Nexus 7,它们是:

group:android.permission-group.DEVELOPMENT_TOOLS
  permission:android.permission.ACCESS_all_EXTERNAL_STORAGE
  permission:android.permission.SIGNAL_PERSISTENT_PROCESSES
  permission:android.permission.READ_LOGS
  permission:android.permission.SET_ALWAYS_FINISH
  permission:android.permission.WRITE_SECURE_SETTinGS
  permission:android.permission.SET_PROCESS_LIMIT
  permission:android.permission.CHANGE_CONfigURATION
  permission:android.permission.DUMP
  permission:android.permission.SET_DEBUG_AP
@H_673_2@如果(且仅当)在清单中声明这些,则可以使用上述命令授予/撤消它们.请注意,安装时不会自动授予它们;您必须发出pm grant命令.我能够通过使用“设置”应用程序观察并确认这一点,并在我授予和撤消它们时看到报告的权限发生变化.

@H_673_2@可能有其他权限的行为,但我还没有找到它们.像android.permission.INTERNET这样的正常权限不能以这种方式授予或撤销.

@H_673_2@附录:关于pm set-permission-enforced PERMISSION的评论部分中的每个附加问题:据我所知,目前支持的唯一权限是android.permission.READ_EXTERNAL_STORAGE.我将此声明基于我对source code的阅读,这也与我使用该命令的经验一致.此权限的选择性强制设置的目的是允许在API 19之前和之后的条件下测试应用程序,如here所述.

大佬总结

以上是大佬教程为你收集整理的android – 哪些权限可以授予rooted设备?全部内容,希望文章能够帮你解决android – 哪些权限可以授予rooted设备?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。