HarmonyOS 鸿蒙Next中HMRouter不配置路由?
HarmonyOS 鸿蒙Next中HMRouter不配置路由?
复现过程:在静态包中创建@HMRouter对应的路由页面,静态包下的generated有自动生成,静态包下的hm_router_map.json也有自动生成,
但是entry模块下的/rawfile/hm_router_map.json中却没有生成对应的路由配置,导致HMRouterUtils.getPageInfoByPageUrl(routeInfo.pageUrl)这里获取不到路由信息?
请问这种情况有什么解决办法吗?
检查一下模块之间是否添加依赖关系
更多关于HarmonyOS 鸿蒙Next中HMRouter不配置路由?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主可以了解一下hsp的跨包跳转,har包的话需要存在依赖,但是hsp可以不用依赖就能实现跳转,要路由能存在,hsp之间不用依赖也能跳转的话能结局分包体积问题,在元服务里面很常用
好的好的,感谢老哥!!!非常感谢!!!
路过…
解决了,模块之间没添加依赖关系!麻了!
在HarmonyOS Next中,HMRouter不配置路由会导致页面导航失败。HMRouter是鸿蒙的路由管理模块,必须通过@Route装饰器在page/entry/src/main/resources/base/profile
目录下的router.json
中声明路由路径。未配置时系统无法识别目标页面,表现为跳转无效或白屏。每个页面的[@Route](/user/Route)(name: string, path: string)
中path
参数必须与router.json
中的uri
字段匹配。
根据描述,这个问题可能是由于模块间的路由配置同步问题导致的。以下是可能的原因和解决方案:
-
检查静态包和entry模块的依赖关系是否正确配置,确保静态包被正确引入到entry模块中。
-
确认静态包下的hm_router_map.json文件是否被正确打包到最终APK中。可以检查build/outputs目录下的中间产物。
-
尝试clean项目后重新build,有时构建缓存可能导致这类问题。
-
检查@HMRouter注解是否正确配置,包括path参数是否完整且唯一。
-
如果使用多模块开发,确保所有模块都正确配置了HarmonyOS的编译插件。
-
检查entry模块的build.gradle中是否正确配置了资源合并选项。
这个问题通常是由于构建系统没有正确合并各模块的路由配置导致的,重点检查构建配置和模块依赖关系。