HarmonyOS鸿蒙Next中在module.json5增加ohos.permission.INTERNET权限后,运行按钮变成灰色,不能运行了。

HarmonyOS鸿蒙Next中在module.json5增加ohos.permission.INTERNET权限后,运行按钮变成灰色,不能运行了。     “requestPermissions”: [       {         “name”: “ohos.permission.INTERNET”       }     ], 在module.json5增加上面权限后,运行按钮变成灰色,不能运行了。

6 回复

打开Project Structure 看看签名配置是否正常

cke_161.png

更多关于HarmonyOS鸿蒙Next中在module.json5增加ohos.permission.INTERNET权限后,运行按钮变成灰色,不能运行了。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


是签名问题,重新点下就行了,这个坑卡了有2天才搞清楚。

cke_310.png

每次修改配置文件后都要点一下Sync Now。

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET",
      }
    ]
  }
}

在module.json5中手动添加ohos.permission.INTERNET权限可能导致配置文件与项目模板不匹配,触发IDE的构建验证错误,使运行按钮被禁用。请检查module.json5文件的语法和结构是否正确,特别是权限声明的格式。更推荐的做法是通过IDE的图形化界面(在“module” > “abilities” > “你的Ability” > “permissions”中添加)来配置权限,这可以避免手动编辑引起的配置错误。

在 HarmonyOS Next 中,当您在 module.json5 中声明了 ohos.permission.INTERNET 权限后,运行按钮变灰且无法运行,这通常是因为权限声明与项目配置不匹配导致的。

主要原因是:ohos.permission.INTERNET 权限属于 system_basicsystem_core 级别(取决于具体设备与API版本),而您的项目配置文件(通常是 module.json5 中的 "type" 字段)可能被设置为 "entry""feature" 等应用类型。 对于非系统应用,直接声明此类较高级别的权限会导致IDE在构建阶段进行校验时失败,从而禁用运行按钮。

请按以下步骤检查和解决问题:

  1. 检查权限级别与项目类型:

    • 打开您的 module.json5 文件。
    • 查看顶层的 "type" 字段。如果您的应用是普通的上架应用,其值应为 "entry"
    • ohos.permission.INTERNET 权限在公开的API中通常为 normal 级别,但IDE或构建工具可能对其有更严格的校验。请确认您使用的SDK版本是否与权限定义匹配。
  2. 正确的配置方式:

    • 对于普通应用,使用网络权限的标准声明方式是正确的。您的代码片段本身在语法上没有问题:
      "requestPermissions": [
        {
          "name": "ohos.permission.INTERNET"
        }
      ]
      
    • 确保此配置位于 module.json5"module" 字段内。
  3. 关键操作:刷新工程并清理构建:

    • 在IDE中,尝试 “File” > “Invalidate Caches and Restart…” (清理缓存并重启)。
    • 或者,手动删除项目目录下的 buildohos_mods.idea.cxx 等构建缓存目录,然后重新使用 “Sync and Refresh Project” 功能同步工程。
  4. 检查依赖与配置文件:

    • 确保项目根目录的 build-profile.json5hvigorfile.ts 等构建配置文件没有错误。
    • 检查应用级的 app.json5 中是否包含必要的权限声明(虽然模块级声明通常足够,但需确保无冲突)。
  5. 验证权限名称:

    • 极少数情况下,权限名称拼写或大小写问题可能导致校验失败。请确保完全按照 ohos.permission.INTERNET 书写。

完成上述步骤后,重新同步项目。如果问题依旧,请查看IDE的 “Build” 输出窗口“Messages” 工具窗口,其中通常会提供具体的错误信息(例如权限校验失败、类型不匹配等),根据该错误信息进行针对性调整。

总结: 此问题并非代码逻辑错误,而是IDE在项目配置校验阶段因权限与项目类型不匹配而阻止了运行。重点检查项目类型、清理构建缓存,并查看构建错误日志以获取根本原因。

回到顶部