签名权限许可名单
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
由平台签名的应用是指采用相同(或兼容)签名的应用
带有平台软件包 (android
) 的证书。平台签名的应用
系统应用(位于系统映像分区上)或非系统应用。
平台签名权限是由平台软件包定义的权限
同样具有 signature
保护级别。可调试 build
其 android.os.Build.isDebuggable()
返回 true
,例如 userdebug
或
eng
build。
过去,设备制造商几乎无法控制可对平台签名的非系统应用授予哪些平台 signature
权限。从 Android 15 开始,制造商可以
在系统配置 XML 文件中授予平台签名权限,
/etc/permissions
目录中。如果通过平台签名的非系统应用
添加到平台签名权限的许可名单后,该权限将起作用
就像应用未在不可调试 build 上进行平台签名一样。
添加许可名单
您可以将应用的权限许可名单列在位于 frameworks/base/etc/permissions
目录下的单个或多个 XML 文件中:
/etc/permissions/signature-permissions-OEM_NAME.xml
/etc/permissions/signature-permissions-DEVICE_NAME.xml
对于内容的组织方式,没有严格的规则。设备实现人员可以
只要适当的应用及其
系统会将这些权限添加到许可名单中
自定义许可名单
AOSP 包含许可名单实现,您可以根据需要自定义该实现,
类似于
特许权限许可名单。例如:
<!--
~ This XML file declares which platform signature permissions to grant to
~ platform signed nonsystem apps.
-->
<permissions>
<signature-permissions package="com.android.example">
<permission name="android.permission.READ_DEVICE_CONFIG"/>
...
</signature-permissions>
...
</permissions>
查找缺少的权限
如需查找缺少的权限,请安装平台签名版应用,然后检查设备日志中是否存在以下格式的警告消息:
Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist
系统仍可以对可调试 build 授予权限,但不能对
不可调试 build,例如 user
build。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-09-12。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-09-12\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-09-12。"]]