Files
harmony-client/docs/build-deploy.md

2.7 KiB
Raw Permalink Blame History

Build & Deploy(构建与部署)

构建系统:hvigor(HarmonyOS 官方构建工具),配置见 hvigor/、hvigorfile.ts、build-profile.json5。

构建 / 运行 Build & Run

  • 主路径:DevEco Studio → Build / Run(GUI)。首次打开自动同步依赖。
  • 命令行(hvigorw wrapper 由 DevEco 首次同步生成):
# 构建 debug HAP
hvigorw assembleHap --mode module -p product=default -p buildMode=debug

# 构建 release HAP
hvigorw assembleHap --mode module -p product=default -p buildMode=release

产物通常在 entry/build/default/outputs/ 下(default 为 product 名)。

多模块构建 Multi-module Build

本工程为「单 HAP + 多 HAR」:entry/(HAP)+ common/(HAR)+ uikit/(HAR)。

  • HAR(common/uikit)作为 entry 的依赖,构建 entry 时会自动先编译依赖的 HAR,正常开发只需构建 entry。
  • 任务类型:HAP 用 assembleHap,HAR 用 assembleHar。
  • 构建整个工程用 --mode project(按依赖顺序构建全部模块);构建单个模块用 --mode module。
  • 模块注册:根 build-profile.json5 的 modules;模块间依赖:各自 oh-package.json5 的 dependencies 用 file:../xxx 声明。

HAR 配置要点(易错):

  • module.json5 的 type 必须是 har(不是 shared——shared 对应 HSP,会要求 hspTasks)。
  • oh-package.json5 的 main: "Index.ets" 指向模块根目录的 Index.ets(该文件 export * from './src/main/ets/Index.ets' 转发公共 API)。
  • 权限(如 ohos.permission.INTERNET)只声明在 HAP 的 module.json5 的 requestPermissions;HAR 不声明权限。

签名 Signing

build-profile.json5 里 signingConfigs 目前为空,且 products[].signingConfig 引用了 "default" —— 签名尚未配置。 要跑真机/模拟器需先配置签名:

  • DevEco Studio → File → Project Structure → Signing Configs → 勾选自动签名(登录华为账号)。
  • 或手动配置 .p12 + .cer / .p7b。

该文件的签名部分属于 Agent 禁止修改 范围(见 AGENTS.md)。

产品与构建模式 Products & Build Modes

  • products:当前只有一个 default(targetSdkVersion 6.0.2(22),runtimeOS: HarmonyOS)。
  • buildModeSet:debug / release。

部署 Deploy

  1. 配置签名(见上)。
  2. 连接真机(开启开发者模式 + USB 调试)或启动模拟器。
  3. DevEco Studio 选择设备 → Run。

环境环境变量 / 本地配置

  • local.properties:本机 SDK 路径等,已 gitignore,勿提交,勿写密钥。
  • 依赖锁:oh-package-lock.json5,提交以固定依赖版本。