鸿蒙OS HAR 开发

预计阅读时间1 分 304 views

HAR(Harmony Archive)是HarmonyOS应用开发中的静态共享包,它为开发者提供了一种高效的代码和资源共享机制。通过HAR,可以将常用的ArkUI组件、资源文件、C++库和配置文件等整合在一起,实现跨模块或工程的复用,有效避免代码冗余,显著提高开发效率。

一、创建HAR模块

  1. 创建HAR模块:打开DevEco Studio,创建一个新的HAR模块。
  2. 代码混淆:HAR模块默认不开启代码混淆。为了保护代码资产,建议开启混淆功能。在HAR模块的build-profile.json5文件中,将artifactType字段设置为obfuscation,并确保apiType字段为stageMode

二、HAR开发注意事项

在HAR开发过程中,请注意以下要点,规避常见错误:

  • 组件声明限制:HAR不支持声明abilitiesextensionAbilities组件和pages页面。
  • Worker配置限制:HAR不支持在build-profile.json5文件的buildOption中配置worker
  • 模型引用限制:FA模型与Stage模型的HAR不能相互引用。
  • AppScope引用限制:Stage模型的HAR不能引用AppScope内的内容。

三、导出与引用

1、导出HAR内容

  • 使用export关键字导出ArkUI组件、ts类和方法、native方法等。
  • 将所有需要导出的内容集中在Index.ets文件中进行声明。

2、引用HAR资源

  • 配置依赖:在使用HAR的模块中配置对HAR的依赖。
  • 导入导出内容:使用import关键字导入HAR中导出的ArkUI组件、ts类和方法、native方法等。
  • 引用资源文件:使用$r引用HAR中的资源文件,例如字符串、图片等。

四、资源管理

当不同模块下的资源文件出现重名冲突时,DevEco Studio会按照以下优先级进行覆盖(优先级从高到低):

  1. AppScope:仅API 9的Stage模型支持。
  2. HAP包自身模块:具有较高的资源覆盖优先级。
  3. 依赖的HAR模块:按照依赖顺序,优先级依次降低。

总结

HAR作为HarmonyOS的静态共享包,提供了一种有效的代码和资源共享解决方案。通过本指南的学习,你将能够掌握HAR的创建、开发、导出和引用方法,并能在实际项目中灵活运用HAR,以提升开发效率。

分享此文档

鸿蒙OS HAR 开发

或复制链接

本页目录