Your Site Title

Harmony Introduce

UI框架: * 声明式 * 类Web

应用模型:

Stage模型应用程序包结构

Image1

DevEco Studio使用ohpm把应用编译为一个或多个.hap后缀的文件. HAP是应用安装的基本单样, 分为Entry, Feature

一个应用可以包含多个.hap文件, hap文件合在一起称为一个Bundle 上架时, 需要把Bundle打包成.app(App Pack, Application Package)

Image2

多HAP构建视图

Image3

多HAP的开发调试与发布部署流程

Image4

  1. 直接使用hdc安装、更新HAP。:

    // 安装、更新,多HAP可以指定多个文件路径 hdc install C:\entry.hap C:\feature.hap // 执行结果 install bundle successfully. // 卸载 hdc uninstall com.example.myapplication // 执行结果 uninstall bundle successfully.

  2. 先执行hdc shell,再使用bm工具安装、更新HAP。:

    // 先执行hdc shell才能使用bm工具 hdc shell // 安装、更新,多HAP可以指定多个文件路径 bm install -p /data/app/entry.hap /data/app/feature.hap // 执行结果 install bundle successfully. // 卸载 bm uninstall -n com.example.myapplication // 执行结果 uninstall bundle successfully.

多HAP使用规则

多HAP运行机制及数据通信方式

基于上述机制,多HAP数据通信方式如下:

共享包

OpenHarmony提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包。 HAR与HSP都是为了实现代码和资源的共享,都可以包含代码、C++库、资源和配置文件,最大的不同之处在于:HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝;而HSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。

HSP旨在解决HAR存在的几个问题:

HSP的一些约束:

HAR资源文件出现重名冲突时, DevEco Studio会以优先级进行覆盖(优先级由高到低):

跳转到HSP中页面:

'@bundle:包名(bundleName)/模块名(moduleName)/路径/页面所在的文件名(不加.ets后缀)'

快速修复

快速修复的使用规则:

应用配置文件

资源分类与访问

资源访问

资源匹配

限定词目录与设备状态的匹配规则

Reference