外观
普通权限 运行时权限 签名权限和特权权限有什么区别?
标准回答
普通权限通常在安装阶段按规则授予;危险权限对适用版本和 targetSdk 的应用需要运行时授权;签名权限依据签名及平台支持的相关规则决定是否授予。privileged 标志允许符合条件的特权应用走相应授权路径,但需要放在正确的特权应用位置并满足同分区 allowlist 等要求。系统目录中的 APK 并不自动拥有所有系统权限。接口访问还可能叠加 AppOps、用户范围和 SELinux 检查,所以我会分别查权限授予与具体操作的限制。
延伸追问
priv-app allowlist 不能让一个只有纯 signature 保护级别的权限绕过签名要求。
内容来源
- Android Framework 知识手册 · 原条目
4-10