Dialog弹窗与模块化问题

Dialog,多模块下显示问题。

咨询场景描述:公共的自定义Dialog–EditDialogUtils。

1,在同一个Hsp包下,调用show方法,可以显示。

2,在多个模块下,EditDialogUtils放到Har包模式下,其他模块调用可以显示。

3,在多个模块下,EditDialogUtils放到Har包下,其他模块调用就不显示。

为什么多个模块下,同一套代码,放到HAR下,其他模块调用可以显示,放到HSP下,其他模块去调用就不能显示。

HarmonyOS
2024-10-31 11:13:00
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

​har包支持引用har包,har包不支持引用hsp包。原因如下:harA 引用harB harB代码会自动打到HarA包里面去 hap引用HarA,即使用户不知道存在harB, 可以直接依赖harA,直接使用。但是harA 依赖hsp的话 就只会把 接口定义的代码编译进去,如果别的应用引用harA在不知道其他依赖的情况下会找不到hsp的。

请参考: HSP不支持转移依赖 即: HAP->HSP1->HSP2->HSP3,这里的HSP2和HSP3不能转移到HAP上面。 转移依赖的整个链路上只能有HAR,不能跨越HSP转移。 即: HAP->HAR1->HAR2->HSP->HAR3->HAR4 HAR1对HAR2的依赖可以转移到HAP上,HAR3对HAR4的依赖可以转移到HSP上,但是,不能将HAR3或HAR4转移到HAP上。

两者在引用资源方面有些不同,har因为是整个包拿过去,所以可以使用$来访问资源,hsp需要封装为一个资源管理类去拿资源。

具体可以参考文档:

har:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/har-package-V5#%E5%BC%95%E7%94%A8har%E7%9A%84arkui%E7%BB%84%E4%BB%B6

hsp:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/in-app-hsp-V5#%E5%AF%BC%E5%87%BAhsp%E4%B8%AD%E7%9A%84%E8%B5%84%E6%BA%90

分享
微博
QQ
微信
回复
2024-10-31 17:07:02
相关问题
HarmonyOS dialog弹窗相关问题
446浏览 • 1回复 待解决
HarmonyOS 有没有模块化开发模板
418浏览 • 1回复 待解决
如何在ArkTS中进行模块化开发?
178浏览 • 1回复 待解决