【HarmonyOS Next】 共享HSP和应用内HSP,useNormalizedOHMUrl详解 ...

打印 上一主题 下一主题

主题 1975|帖子 1975|积分 5925

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【HarmonyOS Next】共享HSP和应用内HSP,useNormalizedOHMUrl详解

一、useNormalizedOHMUrl是什么?

useNormalizedOHMUrl指的是是否使用标准化OHMUrl拼接。
开发过程中,需要根据差别的环境或配置动态天生 URL。比方,在加载一些远程模块或者资源时,可能需要将基础 URL 和具体的资源路径进行拼接,并且要确保天生的 URL 格式符合要求,制止出现多余的斜杠、编码问题等。
我们一般将useNormalizedOHMUrl 设置为true的时间。ohmurl使用的是新的拼接和剖析方式。
标准化的OHMUrl统一了原有OHMUrl的格式。使用集成态HSP和字节码HAR需使用标准化的OHMUrl格式。
  1. {
  2.   "app": {
  3.     "products": [
  4.       {
  5.          "buildOption": {
  6.            "strictMode": {
  7.              "useNormalizedOHMUrl": true
  8.            }
  9.          }
  10.       }
  11.     ]
  12.   }
  13. }
复制代码
二、useNormalizedOHMUrl的使用场景

useNormalizedOHMUrl是为了办理HSP存在bundleName和署名的一致性要求,而且在调试阶段需要先安装HSP包,导致多模块集成开发存在很多集成的问题。
比方笔者开发了一个日记HSP,需要给其他公司使用,不可能别的公司应用包名和我的日记HSP包名一致吧?
但是前期HSP是要求bundleName和署名的一致的。
官方为了办理该问题,提供了集成态HSP的方案。
集成态HSP是应用内HSP的一种中心编译产物,目标就是办理使用方的bundleName和署名之间的强耦合问题。
集成态HSP的模块配置:build-profile.json5
  1. {
  2.   "apiType": "stageMode",
  3.   "buildOption": {
  4.     "arkOptions": {
  5.       "integratedHsp": true
  6.     }
  7.   }
  8. }
复制代码
这就是为什么,集成三方依赖,我们的项目需要添加useNormalizedOHMUrl为true的前因后果了。
并且需要补充的是,HAR字节码包,也需要设置useNormalizedOHMUrl为ture。
关于字节码HAR包,指的是其中包含的是编译后的abc字节码,相比包含源码的HAR和包含js中心码的HAR,可以有用提拔应用模块的编译构建服从。
三、useNormalizedOHMUrl的注意事项


  • useNormalizedOHMUrl 为true的时间ohmurl使用的是新的拼接和剖析方式,不能和旧的ohmurl混用,会导致运行时无法识别。
  • 集成态HSP需要在工程级的build-profile.json5文件中,将useNormalizedOHMUrl字段设置为true。
  • 从DevEco Studio NEXT Beta1(5.0.3.800)版本开始,当工程级build-profile.json5中useNormalizedOHMUrl配置为true时,noExternalImportByPath缺省默认值为true;当useNormalizedOHMUrl配置为false时,noExternalImportByPath缺省默认值为false。【noExternalImportByPath指的是,是否严酷检查绝对路径导入方式和相对路径跨模块导入方式。】
需要格外注意的是,鸿蒙中引用其他依赖模块正确的方式,是通过index中export的导出的接口,来调用模块函数或者类。如果使用的是相对路径的方式导出,在useNormalizedOHMUrl设置为true后,会导致编译报错,需要整改。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表