HarmonyOS鸿蒙Next中上次打包发布到agc后我就换了电脑 然后我把代码拷贝了 在现在电脑上运行项目到就不能跳转了 我用的路由是HMRouter 我感觉是全局的HMRouter失效了 但是检查之后也没发现什么问题

HarmonyOS鸿蒙Next中上次打包发布到agc后我就换了电脑 然后我把代码拷贝了 在现在电脑上运行项目到就不能跳转了 我用的路由是HMRouter 我感觉是全局的HMRouter失效了 但是检查之后也没发现什么问题 【问题描述】:项目使用HMRouter路由模式 更换开发环境后出现路由失效、无法跳转的问题 代码检查无报错

【问题现象】:进入app后所有需要点击跳转的交互失效 点击无反应

【版本信息】:HarmonyOS 6.0.0 Beta5 SDK, inclusion of OpenHarmony SDK Ohos_sdk_public 6.0.0.47 (API Version 20 Beta5) as is.

手机系统版本 6.0.0.108

api版本 19

【尝试解决方案】:检查build-profile.json5、hvigorfile.ts、oh-package.json5、oh-package-lock.json5尝试使用router可以跳转


更多关于HarmonyOS鸿蒙Next中上次打包发布到agc后我就换了电脑 然后我把代码拷贝了 在现在电脑上运行项目到就不能跳转了 我用的路由是HMRouter 我感觉是全局的HMRouter失效了 但是检查之后也没发现什么问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

感觉是路由表缺失了,建议重新在另外的把相关环境配置一遍,如果还不行可以在https://gitcode.com/openharmony-sig/ohrouter 中提Issues单给他们团队查看

更多关于HarmonyOS鸿蒙Next中上次打包发布到agc后我就换了电脑 然后我把代码拷贝了 在现在电脑上运行项目到就不能跳转了 我用的路由是HMRouter 我感觉是全局的HMRouter失效了 但是检查之后也没发现什么问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


最近HMRouter更新比较频繁,可能是你迁移项目之后,默认下载了最新的版本。建议对比一下现在项目和旧项目依赖的三方库是否都是用的相同的版本号。

HMRouter更新记录

1.2.2 (2025.10.27)

Bug Fixes

  • 修复onWillAppear和onReady生命周期内获取id信息异常的稳定性问题

1.2.0 (2025.09.17)

Features

  • 新增适配API12后的生命周期
  • 新增支持设置默认navigationId

Bug Fixes

  • 修复注销生命周期、拦截器的问题

1.2.0-rc.0 (2025.09.02)

Features

  • 新增自定义日志代理
  • 新增页面移除操作监听器

1.2.0-beta.1 (2025.07.29)

Bug Fixes

  • 修复HSP跨包跳转的问题
  • 废弃接口修改

1.2.0-beta.0 (2025.06.17)

Features

  • 支持异步拦截器,开发者可以在拦截器中调用异步接口
  • 新增链式调用API
  • 通过HMServiceFactory提供service能力的扩展性,开发者可以增强Service的实现,实现完整的IOC容器
  • 新增requestWithCallback接口,通过回调处理服务调用的返回值
  • 新增handleUri接口,提供处理外部跳转到应用内的请求

在HarmonyOS Next中,HMRouter失效可能与新电脑环境配置有关。请检查以下方面:

  1. 确保项目中的build-profile.json5module.json5文件内路由配置正确,路径未变更;
  2. 验证oh-package.json5中HMRouter依赖版本与AGC上一致;
  3. 确认新电脑DevEco Studio已安装对应SDK和工具链,清理缓存重启IDE。

若配置无误,检查页面路由注册代码是否遗漏。

更换开发环境后 HMRouter 失效可能是由以下原因导致:

  1. 依赖包版本不一致
    检查新电脑中 oh-package.json5 与旧环境是否完全一致,特别是 @ohos/hypium 和 HMRouter 相关依赖的版本。建议删除 node_modulesoh_modules 后重新执行 npm install

  2. 签名或权限配置丢失

    • 确认新电脑的 signingConfigs(在 build-profile.json5 中)已配置正确的证书和 Profile 文件路径。
    • 检查 module.json5 中路由所需的权限声明是否完整,例如:
      "abilities": [
        {
          "name": "RouterAbility",
          "srcEntry": "./ets/routerability/RouterAbility.ts"
        }
      ]
      
  3. 路径或环境变量差异

    • 对比新旧电脑的 hvigorfile.ts 中配置的源码路径、资源路径是否一致。
    • 若使用环境变量(如 process.env),需确保新环境已配置相同参数。
  4. 缓存冲突
    执行 Build > Clean Project 并重启 IDE,避免缓存导致路由注册异常。

  5. 设备/模拟器兼容性
    当前使用的 API Version 20 Beta5 与手机系统版本(API 19)存在差异,可能引发兼容性问题。建议将设备升级至匹配的 SDK 版本,或调整工程配置至 API 19。

建议优先核对依赖版本与签名配置,这两者是环境迁移中最易被忽略的环节。

回到顶部