我定义了一个单例,我在A模块注册了一个,在B模块读取。
如果版本相同,B能读取到,版本不同读取不到
所以结论:
版本号是否相同都存在多份?
版本号不同消息不互通?运行时存在多份实例?
版本号相同消息互通?运行时存在一份实例?
我定义了一个单例,我在A模块注册了一个,在B模块读取。
如果版本相同,B能读取到,版本不同读取不到
所以结论:
版本号是否相同都存在多份?
版本号不同消息不互通?运行时存在多份实例?
版本号相同消息互通?运行时存在一份实例?
1 回答1.1k 阅读✓ 已解决
1 回答1.4k 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
1 回答1.1k 阅读
1 回答988 阅读
1 回答960 阅读
不同module依赖不同版本的har,HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝。不同版本的包是独立的。
具体参考应用程序包指南:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-package-overview-0000001820999513-V5
1.依赖同版本的har,不会打包多份,依赖关系如下:
hap–har1–har2–har3
–har4–har3
2.依赖不同版本的har,依赖关系如下:
hap–har1–har2–har3V1
–har4–har3V2
打包hap时,hap中会把V1和V2两个版本的har3都打进去。
可以在项目级别的oh-package.json5(即项目根目录下的oh-package.json5)文件中添加overrides配置,方便将依赖树中的依赖替换为另一个版本。替换的版本既可以是一个具体的版本号,也可以是一个模糊版本,还可以是本地存在的HAR包或源码目录。