HarmonyOS鸿蒙Next中云调试报错:安装失败。应用等级为normal,只能使用normal等级的权限。

HarmonyOS鸿蒙Next中云调试报错:安装失败。应用等级为normal,只能使用normal等级的权限。 我在使用云调试的时候报了这个错误:

cke_3270.png

这是什么原因导致的?为什么我本地调试没有?


更多关于HarmonyOS鸿蒙Next中云调试报错:安装失败。应用等级为normal,只能使用normal等级的权限。的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

报这个错误主要的原因是应用是normal级别的应用,但是申请了非normal级别的权限,即受限权限(ACL权限)。一般在本地调试的时候,如果是自动签名,有可能并不需要直接进行申请,但是在打包发布的时候,在配置发布Profile时需要勾选申请通过的权限。

关于受限权限的申请,是需要在AGC上完成的,申请获得白名单。具体操作请参考:https://developer.huawei.com/consumer/cn/doc/app/agc-help-apply-acl-0000002394212138#section156171230179

更多关于HarmonyOS鸿蒙Next中云调试报错:安装失败。应用等级为normal,只能使用normal等级的权限。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


云调试报错“安装失败。应用等级为normal,只能使用normal等级的权限”表明应用在配置文件中声明的权限等级高于其应用等级。在HarmonyOS Next中,应用等级(如normal)需与权限等级严格匹配。请检查应用的module.json5配置文件,确保app字段下的bundleTypeapp(对应normal等级),且所有requestPermissions中声明的权限其level字段均为normal。权限等级高于应用等级会导致安装失败。

这个报错是因为在HarmonyOS Next中,应用权限等级与应用签名证书的权限等级不匹配导致的。具体原因和本地调试无此问题的解释如下:

1. 根本原因: HarmonyOS Next对应用权限实施了更严格的管控。应用的权限等级(如normalsystem_basicsystem_core)必须与签名证书的权限等级完全一致。您的应用在module.json5中配置的app级别为normal,但云调试所使用的签名证书(通常是调试证书)可能具有更高的权限等级(例如system_basic)。系统检测到证书等级高于应用声明的等级,出于安全考虑,会阻止安装。

2. 为什么本地调试没有此问题: 本地调试通常使用的是自动生成的、仅限调试的临时证书,其权限等级可能与您的项目配置完全匹配(同为normal),或者本地开发环境在某些情况下对此类校验不够严格。而云调试环境使用的是更接近真机发布的签名和校验流程,因此会严格执行这项等级匹配策略。

3. 解决方案: 请检查并确保以下两项配置完全一致:

  • 应用配置等级: 在项目的module.json5文件中,查看"app"字段下的"bundleType",它应为"normal"
  • 签名证书等级: 检查您为云调试所配置的签名证书(在AppGallery Connect中或本地签名配置中)。该证书的权限等级必须也是normal

如果证书等级过高,您需要为云调试更换一个normal等级的调试证书。请核对您的项目签名配置,确保其与云调试服务所使用的证书信息(特别是权限等级)匹配。

回到顶部