权限声明与权限详情页
权限分级
Android 权限体系分为:
| 类型 | 要求 | 典型 |
|---|---|---|
| 安装时权限(install-time) | 安装时一次性授予 | INTERNET, ACCESS_NETWORK_STATE |
| 运行时权限(runtime) | App 运行时动态请求 | CAMERA, READ_CONTACTS, ACCESS_FINE_LOCATION |
| 特殊权限 | 用户手动在系统设置中开启 | SYSTEM_ALERT_WINDOW, WRITE_SETTINGS |
LibChecker 权限页
进入应用详情页后切到权限 Tab,可以看到:
- 权限完整名称
- 简要说明
- 权限分组
- 授予状态(已授予 / 未授予)
- 是否为受保护权限(normal / dangerous / signature / special)
从 v2.5 开始,权限详情页还会展示该权限关联的 Provider(permission provider),帮助建立权限 → 数据暴露之间的联系。
元数据 Tab
元数据(meta-data)是 AndroidManifest 中的 <meta-data> 条目,以键值对形式存在。常见用途:
- 声明 Firebase、微信 SDK 等三方库的 AppID
- 声明 Google Play Services 的配置
- 记录应用的内部版本标记或编译选项
实用分析技巧
- 异常组合:一个仅做本地工具的 App 同时请求了网络权限和存储权限 → 需要仔细检查行为
- 签名权限:
signature级别的权限意味着只有同签名的 App 可以获取,通常用于内部组件间通信 - 权限越多越重:简单工具类 App 声明大量非必要权限可能暗示引入了体积过大的三方 SDK