发布包构建(HarmonyLaunchKit)使用指导
启动包组件 - 鸿蒙原子服务/卡片/流转一体化启动包构建。 鸿蒙独有组件,把模板、主题、Want 入口打包成单个可分发的启动包 JSON。
运行前提与搭建步骤
这些案例在包含该组件的鸿蒙 AI 伴侣或 HAP 中运行。Android 侧是供网页编辑器生成积木的声明,不能用安卓伴侣验证鸿蒙系统能力。
- 在设计器拖入
HarmonyLaunchKit,保留名称HarmonyLaunchKit1;拖入案例涉及的按钮、文本输入框以及一个标签标签1,按代码中的名称重命名。 - 根据下面的业务说明准备素材、JSON 或系统目标。案例中的按钮代表分步操作,先等初始化、加载或创建成功,再执行下一步。
- 接住完成事件与错误事件,将原始 JSON 或错误显示在标签。先确认原始结果,再编写业务处理。
启动包是数据输出,不会自动打开服务。目标包名、Ability 和 serviceId 按实际应用配置;将输出中的模板、主题和 Want 交给相应组件使用。
案例一:构建原子服务启动包
各案例独立使用;组合到同一屏幕时,将同名事件的处理合并到一个事件积木中。
when 按钮_原子服务.Click() {
标签1.Text = HarmonyLaunchKit1.BuildAtomicLaunchPackage("compact", "服务入口", "demo", 文本输入框_包名.Text, 文本输入框_Ability.Text, "home", "#2196F3", "{}")
}
案例二:构建设备控制启动包
when 按钮_设备.Click() {
标签1.Text = HarmonyLaunchKit1.BuildDeviceControlLaunchPackage("compact", "设备控制", "home", 文本输入框_包名.Text, 文本输入框_Ability.Text, "#2196F3", "{}")
}
when HarmonyLaunchKit1.LaunchPackageBuilt(种类, 包信息JSON) {
标签1.Text = 包信息JSON
}
参数与返回值速查
JSON 参数是文本,不能直接传字典;需要字典时可用 Web 客户端的 JSON 解码积木转换返回文本。完整默认值与类型见组件参考。
| 方法或事件 | 参数与用途 |
|---|---|
构建原子入口发布包(场景档案,标题,服务ID,包名,能力名,入口路径,强调色文本,参数JSON)(BuildAtomicLaunchPackage) |
场景档案:文本, 标题:文本, 服务ID:文本, 包名:文本, 能力名:文本, 入口路径:文本, 强调色文本:文本, 参数JSON:文本。构建原子服务启动包 JSON。 |
构建流转发布包(场景档案,标题,目标设备类型,包名,能力名,强调色文本,数据包JSON,路由名)(BuildContinuationLaunchPackage) |
场景档案:文本, 标题:文本, 目标设备类型:文本, 包名:文本, 能力名:文本, 强调色文本:文本, 数据包JSON:文本, 路由名:文本。构建跨设备流转启动包 JSON。 |
构建设备控制发布包(场景档案,标题,路由名,包名,能力名,强调色文本,设备状态JSON)(BuildDeviceControlLaunchPackage) |
场景档案:文本, 标题:文本, 路由名:文本, 包名:文本, 能力名:文本, 强调色文本:文本, 设备状态JSON:文本。构建设备控制启动包 JSON。 |
构建服务中心发布包(场景档案,标题,路由名,包名,能力名,强调色文本,卡片ID)(BuildServiceCenterLaunchPackage) |
场景档案:文本, 标题:文本, 路由名:文本, 包名:文本, 能力名:文本, 强调色文本:文本, 卡片ID:文本。构建服务中心启动包 JSON。 |
获取最近发布包JSON(GetLastPackageJson) |
无参数。获取最近一次生成的启动包 JSON。 |
发布包已生成时(种类,包信息JSON)(LaunchPackageBuilt) |
种类:文本, 包信息JSON:文本。生成启动包后触发。 |
常见问题与验收
| 现象 | 检查与预期 |
|---|---|
| 安卓运行没有结果 | 切换到鸿蒙伴侣或 HAP;Android 的声明不会执行该鸿蒙系统能力。 |
| 方法已调用但界面没变化 | 生成 JSON 的方法只是构建数据;按业务流程交给渲染、启动或同步入口,不能将数据生成当成系统操作完成。 |
| 初始化、权限或设备失败 | 记录错误事件,确认系统服务、授权、目标应用或设备可用;只在成功事件后继续下一步。 |
| JSON 解析失败 | 使用上一组件的原始输出,检查引号和字段类型;空对象用于默认模板演示,不能代替真实目标信息。 |
| 两个案例验收 | 每个按钮单独操作一次,核对对应返回或事件;输入错误目标或取消操作时查看失败事件,不应显示成功提示。 |
完整 .aia 源码与操作指导
鸿蒙设备巡检界面案例:四种业务、三个场景档位和三种颜色可从中文选择器操作;实际JSON输出继续生成可见布局并应用主题,动态按钮打开模板详情。业务数据明确是本地示例,不是硬件实时状态。主组件HarmonyLaunchKit包含全部调用入口和真实结果,其他组件用于完成数据到界面的闭环。
导入 HarmonyLaunchKitAllFeatures.aia,连接最新伴侣,或编译独立安装包。真机/伴侣运行尚未实测。
| API / 功能 | 操作入口 | 预期结果 |
|---|---|---|
| 场景选择与四种业务 | 中文选择器,构建设备控制/服务中心/原子入口/工作区流转 | 实际返回JSON;自动使用真实设备档位,手动覆盖只作测试,不声称设备类型改变 |
| 可见界面及动态按钮 | 构建后点落地,上方真实容器滚动查看并点动态按钮 | 真正创建布局、标题、分区、按钮;按钮展示当前模板详情,不启动服务或发送指令 |
| 最近输出/根布局/计数 | 读取按钮与事件区 | 组件实际属性、方法和事件;不伪造组件数或成功 |
| 主题及表单 | 换蓝/橙/绿,应用模板主题或表单主题 | 实际字体/颜色变化及ThemeApplied;表单只设置本屏主题属性 |
| 失败与恢复 | 错误按钮,再用正常构建/落地 | 非法主题或不存在容器明确失败;有效输入仍可用,旧成功布局保留 |
| 生命周期 | 重复生成不同前缀,最多6套;重开本案例 | 没有删除模板API,限制增长;重开会清空运行时布局,不删除用户文件 |
| 平台与边界 | 鸿蒙运行 | Android只有接口占位;发布包是JSON业务载体,不是HAP/APK,不代表服务上线或实际设备控制 |
| BuildAtomicLaunchPackage、BuildContinuationLaunchPackage、BuildDeviceControlLaunchPackage、BuildServiceCenterLaunchPackage、LaunchPackageBuilt、LastPackageJson、GetLastPackageJson | 四种业务构建,输出可复制,再落地 | 返回真实flowPayloadJson、wantJson、templateJson、themeJson并提取模板/主题使用;不调用系统启动 |
所有返回值均用于界面反馈,错误由底部错误区展示。设计器采用明确非默认配置,初始化与界面同步。API 覆盖检查按最终 AIA 检查方法、事件、属性读取与设置及设计器配置,不能替代真实设备验证。
四种业务发布数据包
导入方法:项目 → 导入项目(.aia)→ 选择下载的 .aia 源码文件。 鸿蒙设备巡检界面案例:四种业务、三个场景档位和三种颜色可从中文选择器操作;实际JSON输出继续生成可见布局并应用主题,动态按钮打开模板详情。业务数据明确是本地示例,不是硬件实时状态。主组件HarmonyLaunchKit包含全部调用入口和真实结果,其他组件用于完成数据到界面的闭环。 覆盖检查 7/7。首次载入及保存重开均0个错误,真实后台导入、安装包编译通过;真机/伴侣/硬件联调尚未实测。全部属性读写、方法与事件的操作入口和预期结果见组件指导。
扫码添加客服咨询