HarmonyOS 鸿蒙Next权限声明
HarmonyOS 鸿蒙Next权限声明 想问一下AGC这里面申请的权限是怎么匹配到我这个项目的呀?(虽然没有通过但是解决了权限报错问题) 为什么声明权限的代码删掉了却还是能运行呀?
3 回复
HarmonyOS Next权限声明采用基于权限的隐私保护框架。应用需在module.json5配置文件中声明所需权限,包括normal(普通权限)、system_basic(系统基础权限)和system_core(系统核心权限)三个级别。权限声明需明确说明使用场景和目的,系统会在应用安装时向用户展示权限申请列表。敏感权限需动态申请并在运行时获取用户授权。权限管理遵循最小化原则,仅申请必要的权限。
在HarmonyOS Next中,AGC(AppGallery Connect)的权限申请与项目匹配是通过应用的包名和数字证书自动关联的。当你在AGC平台为应用配置权限时,系统会将这些权限声明与项目构建时使用的签名信息绑定。即便删除代码中的权限声明,应用仍能运行,是因为:
-
安装时权限验证机制:HarmonyOS在应用安装阶段会检查AGC中声明的权限,并与安装包签名匹配。如果权限已在AGC授权,运行时可能不会强制校验代码中的声明。
-
缓存或预授权行为:开发阶段设备可能缓存了之前的授权状态,或模拟器/测试环境对部分权限默认放行。
但需注意:
- 正式发布时,权限必须严格在代码和配置文件中声明,否则会导致安装失败或功能异常。
- 删除代码声明但保留AGC配置的做法不可靠,可能引发后续审核或兼容性问题。
建议始终在代码中显式声明所需权限,并与AGC配置保持一致,确保应用合规性。