HarmonyOS 鸿蒙Next权限声明

HarmonyOS 鸿蒙Next权限声明 想问一下AGC这里面申请的权限是怎么匹配到我这个项目的呀?(虽然没有通过但是解决了权限报错问题) 为什么声明权限的代码删掉了却还是能运行呀?

3 回复

正常是即使在AGC上申请过权限也要在moudle.json5里声明的,可能是因为在删除权限声明代码后还未同步,实际运行中还是之前的代码,所以能够正常运行

更多关于HarmonyOS 鸿蒙Next权限声明的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS Next权限声明采用基于权限的隐私保护框架。应用需在module.json5配置文件中声明所需权限,包括normal(普通权限)、system_basic(系统基础权限)和system_core(系统核心权限)三个级别。权限声明需明确说明使用场景和目的,系统会在应用安装时向用户展示权限申请列表。敏感权限需动态申请并在运行时获取用户授权。权限管理遵循最小化原则,仅申请必要的权限。

在HarmonyOS Next中,AGC(AppGallery Connect)的权限申请与项目匹配是通过应用的包名和数字证书自动关联的。当你在AGC平台为应用配置权限时,系统会将这些权限声明与项目构建时使用的签名信息绑定。即便删除代码中的权限声明,应用仍能运行,是因为:

  1. 安装时权限验证机制:HarmonyOS在应用安装阶段会检查AGC中声明的权限,并与安装包签名匹配。如果权限已在AGC授权,运行时可能不会强制校验代码中的声明。

  2. 缓存或预授权行为:开发阶段设备可能缓存了之前的授权状态,或模拟器/测试环境对部分权限默认放行。

但需注意:

  • 正式发布时,权限必须严格在代码和配置文件中声明,否则会导致安装失败或功能异常。
  • 删除代码声明但保留AGC配置的做法不可靠,可能引发后续审核或兼容性问题。

建议始终在代码中显式声明所需权限,并与AGC配置保持一致,确保应用合规性。

回到顶部