Android中的权限存储在哪里?

9
开发者文档:在运行时请求权限清楚地说明了什么是运行时权限以及如何使用它。我也能够执行它们。
然而,问题是:Android将运行时权限值存储在哪里?
例如,当用户删除与应用相关的数据时,权限将被重置,因此Android在哪里存储这些值?(是在应用缓存中还是在其他任何地方)。以什么格式存储?(是数据库还是sharedpreferences文件或其他任何格式)以及它们是如何存储的?(加密还是非加密)。
在许多现有答案和开发者文档中搜索,但未能找到有关此事的任何有用信息。任何帮助将不胜感激。

你想要实现什么?权限的管理是由操作系统来完成的,你只需要请求和检查它们即可。 - Stefan
根据这个帖子,它们存储在RAM中。https://groups.google.com/forum/#!topic/android-platform/oD33RVVUBB8 - Prerak Sola
2个回答

9

我不确定你是否已经找到了答案,但它们存储在以下位置:

/data/system/users/0/runtime-permissions.xml

当系统被重置或创建新用户时,系统也会自动授予系统应用程序权限。我一直在研究如何自动授予系统应用程序权限。
更多详情请参见此答案

1
在三星手机上的Android 12中,它是:
/data/misc_de/0/apexdata/com.android.permission/runtime-permissions.xml
其他设备未经确认。
0似乎是用户ID。
通过运行以下命令找到:
find / -name '*permission*.xml' 2>/dev/null

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接