第8篇:打包与分发:生成 .hap 包并部署到鸿蒙真机

# Flutter × 鸿蒙实战30讲(8):打包与分发:生成 .hap 包并部署到鸿蒙真机

> 作者:烟云任平生  
> 发布时间:2025年12月8日  
> 标签:`#Flutter` `#OpenHarmony` `#HAP` `#打包` `#CSDN`

---

### 一、目标

将包含 Flutter Web 资源的 OpenHarmony 项目,**编译为 .hap 安装包**,并成功安装到真机或模拟器。

---

### 二、准备工作

1. 确保 Flutter Web 资源已放入 `resources/rawfile/`
2. 网络权限已配置(`ohos.permission.INTERNET`)
3. DevEco Studio 已连接设备(真机或模拟器)

> ⚠️ 真机需开启 **开发者模式 + USB 调试**

---

### 三、生成签名 HAP(Release 模式)

#### 步骤1:创建签名文件(首次需操作)

1. 在 DevEco Studio 中:`File > Project Structure > Project > Signing Configs`
2. 点击 `+` 新建 config,输入:
   - Store File: `auto-generated`
   - Key Alias: `debug_key`
   - 密码:任意(如 `123456`)

> 🔒 生产环境请使用正式证书!

#### 步骤2:构建 HAP

- 菜单栏:`Build > Build Hap(s)/App(s) > Build Hap(s)`
- 生成路径:`entry/build/default/outputs/default/*.hap`

---

### 四、安装到设备

#### 方法1:通过 DevEco 一键运行
- 点击 ▶️ Run,自动安装并启动

#### 方法2:手动安装(adb 方式)
```bash
# 进入 hap 所在目录
hdc install your_app_entry-default-signed.hap
💡 hdc 是 OpenHarmony 设备连接工具,随 DevEco 自带。

五、验证 Flutter 资源是否正常加载
启动应用
观察是否显示 Flutter 界面(非白屏)
若白屏,检查:
rawfile 路径是否正确
是否遗漏 INTERNET 权限(即使离线也建议保留)
控制台是否有 Failed to load resource 错误
六、常见问题
问题	解决方案
安装失败:signature error	确保真机与 HAP 使用相同签名
白屏	检查 src: 'common/html/...' 路径是否拼写错误
图片不显示	确认 assets 已包含在 build/web 中

🔜 下一篇预告:《第9讲:调用鸿蒙文件系统:读写本地文件(@ohos.file.fs)》

✨ 打包成功那一刻,离国产化落地又近一步!

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐