吴旭华 发表于 2024-9-15 06:28:22

【HarmonyOS NEXT】Entry包跳转HAP包或Feature包失败

【关键字】

跨module包跳转 / Entry / HAP / Feature / Previewer / can't find this page / 页面路由(@ohos.router)/ router.pushUrl / 命名路由
【问题描述】

项目工程包罗三个模块:


[*] entry模块:包罗2个页面Index1、Index2
[*] library模块(HSP包):包罗1个页面Index
[*] feature模块(feature包):包罗1个页面Index
工程中存在跨包跳转,跳转代码参考官网编写:
router.pushUrl({
url : '@bundle:com.***.myapplication/library/ets/pages/Index'
}) 问题1:当前entry内部Index1可以跳转Index2,但Index2跳转HSP包的Index失败(Previewer模式和模仿器均失败),工具提示“can't find this page”。
问题2:利用模仿器,entry无法跳转到feature包页面。
【解决方案】


[*] Previewer模式当前不支持跨module包跳转。
[*] 模仿器实现HSP包页面跳转,请确认是否完成如下设置:

[*] 在entry包中增长HSP包的引用
在利用方entry/feature模块的oh-package.json5文件中添加HSP模块引用,以引用名为“sharedlibrary”的HSP为例:
{
...
"dependencies": {
"sharedlibrary": "file:../sharedlibrary"
}
} 参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-har-import-0000001547293682
[*] 当地调试时将HSP模块一起参加打包
请按如下方法检察当地调试时是否将HSP模块参加运行:菜单栏选择“Run > Edit Configurations”,选择“Deploy Multi Hap”页签,勾选“Deploy Multi Hap Packages”,选择利用方模块(如entry)和HSP模块(如library),点击“OK”。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-run-debug-configurations-0000001760344518#section393005432811
[*] 同时附上Demo供参考

[*] entry模块:Index.ets
import router from '@ohos.router'
@Entry
@Component
struct Index {
build() {
Column() {
Text('Hello World1')
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button('跳转')
.margin({top: 50})
.onClick(() => {
router.pushUrl({
url: '@bundle:com.huawei.flexlaout.myapplication/library/ets/pages/Index'
})
})
}
.width('100%')
.height('100%')
}
}
[*] entry模块:oh-package-lock.json5
{
"name": "entry",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"library": "file:../library"
}
}
[*] library模块:Index.ets
@Entry
@Component
struct Index {
build() {
Row() {
Column() {
Text('Hello World2')
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}


[*] entry和feature包间的跳转不支持利用router.pushUrl,可通过命名路由的方式跳转。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-routing-0000001820879797#ZH-CN_TOPIC_0000001820879797__命名路由

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【HarmonyOS NEXT】Entry包跳转HAP包或Feature包失败