本文详细讲解在 App Inventor 2 中文网上编译 HarmonyOS NEXT 应用(HAP包)的全流程,包括证书申请、签名机制、测试方法,并与 Android、iOS 编译流程进行深度对比。
一、HarmonyOS NEXT 应用签名体系概述
HarmonyOS NEXT 对应用安全有严格的要求,任何 HAP(HarmonyOS Ability Package)包都必须经过签名才能安装到真机。这与 Android 和 iOS 形成了显著差异。
1.1 签名类型
| 签名类型 | 能否安装 | 能否上架应用市场 | 设备限制 | 证书来源 | 适用场景 |
|---|---|---|---|---|---|
| 未签名 | ❌ 不能 | ❌ 不行 | — | 无 | 模拟器调试可用 |
| Debug签名 | ✅ 仅注册设备 | ❌ 不行 | 需提前注册设备UDID | SDK自带调试证书 | 开发测试阶段 |
| Release签名 | ✅ 任意设备 | ✅ 可以 | 无限制 | 华为开发者后台(AGC)申请 | 正式发布 |
1.2 与 Android/iOS 签名体系对比
| 维度 | Android | iOS | HarmonyOS NEXT |
|---|---|---|---|
| 未签名安装 | ✅ 开启”未知来源”即可 | ❌ 不允许 | ❌ 不允许(模拟器除外) |
| 调试签名 | 自签名APK即可 | 需Apple开发者证书+设备注册 | 需注册设备UDID+Debug证书 |
| 发布签名 | 自签名keystore | Apple Distribution证书 | 华为AGC申请Release证书 |
| 开发者费用 | 免费($25一次性注册) | 99美元/年(约680元/年) | 免费(个人开发者) |
| 证书管理平台 | 本地keystore文件 | Apple开发者门户 | AppGallery Connect (AGC) |
| 配置文件 | 无需 | 需Provisioning Profile | 需Profile配置文件 |
| 证书有效期 | 自定义(建议25年+) | 1年 | 1-3年(取决于类型) |
二、准备工作:华为开发者账号
2.1 注册华为开发者账号
- 访问 华为开发者联盟 注册账号
- 完成实名认证(个人或企业)
- 登录 AppGallery Connect (AGC) 控制台
2.2 与 Apple 开发者账号对比
| 对比项 | Apple开发者 | 华为开发者 |
|---|---|---|
| 年费 | 99美元/年(约680元) | 免费 |
| 实名认证 | 需要Apple ID | 需要华为账号+实名 |
| 审核周期 | 1-2天 | 1-3天 |
| 教育优惠 | 免费名额 | 免费本身就是 |
💡 提示:相比 Apple 每年 680 元的开发者费用,华为开发者注册是免费的,这是鸿蒙生态的一大优势。
三、证书申请全流程
3.1 创建项目与应用(AGC)
- 登录 AppGallery Connect
- 点击「我的项目」→「添加项目」,输入项目名称
- 在项目下添加应用,选择平台为 HarmonyOS NEXT
- 填写应用名称和包名(Bundle ID/包名,格式建议:
cn.fun123.你的项目名)
3.2 申请签名证书
HarmonyOS NEXT 有两类证书需要了解:
(1)调试证书(Debug证书)
- 用途:开发测试阶段使用
- 来源:SDK自带,无需手动申请
- 限制:只能在已注册UDID的设备上运行
- App Inventor处理方式:BuildServer 自动使用 SDK 自带的
OpenHarmony.p12进行 Debug 签名,用户无感知
(2)发布证书(Release证书)
- 用途:正式发布和上架应用市场
- 来源:在AGC后台手动申请
- 包含文件:
- 签名证书(
.cer文件)— 证明开发者身份 - Profile配置文件(
.p7b文件)— 绑定应用和设备信息
- 签名证书(
3.3 发布证书申请步骤
Step 1:生成密钥对和证书签名请求(CSR)
- 打开 DevEco Studio(或使用 OpenJDK 的 keytool)
- 进入
Build→Generate Key and CSR - 填写密钥信息:
- Key Alias(密钥别名):自定义,如
myapp_release - Password(密钥密码):请妥善保存
- Validity(有效期):建议设置 25 年以上
- Certificate 信息:填入开发者/企业信息
- Key Alias(密钥别名):自定义,如
- 生成
.p12密钥库文件和.csr证书请求文件
⚠️ 重要:
.p12密钥库文件是签名的核心凭证,请务必安全保存!丢失后无法恢复,需要重新申请全部证书。
Step 2:在 AGC 申请签名证书
- 登录 AGC 控制台
- 进入项目 → 选择应用 → 「项目设置」→「常规」
- 找到「签名配置」部分
- 点击「添加签名证书」
- 上传 Step 1 生成的
.csr文件 - 提交后下载生成的 签名证书(
.cer文件)
Step 3:创建 Profile 配置文件
- 在 AGC 控制台同一页面,点击「添加Profile」
- 选择证书类型:
- 调试类型:需要注册设备UDID
- 发布类型:用于上架应用市场
- 选择应用包名和刚才申请的签名证书
- 生成并下载 Profile 文件(
.p7b文件)
Step 4:上传证书到 App Inventor
- 登录 App Inventor 2 中文网 (https://www.fun123.cn)
- 在项目中选择「构建」菜单
- 选择 HarmonyOS NEXT 编译选项
- 上传以下文件:
- 签名证书(
.cer文件) - Profile配置文件(
.p7b文件)
- 签名证书(
- 开始编译
四、如何测试
4.1 测试环境对比
| 测试方式 | Android | iOS | HarmonyOS NEXT |
|---|---|---|---|
| 模拟器 | Android Studio模拟器 | Xcode模拟器 | DevEco Studio模拟器 |
| Companion | ✅ AI2 Companion | ✅ iOS Companion | ❌ 暂无(开发中) |
| USB调试 | ✅ ADB | ✅ 需信任电脑 | ✅ HDC(需开启开发者模式) |
| 扫码安装 | ✅ 二维码 | ✅ 二维码(Ad Hoc) | ✅ 二维码(需签名HAP) |
4.2 模拟器测试(无需签名)
模拟器是开发阶段最便捷的测试方式,不需要任何签名证书:
- 编译生成未签名的 HAP 包
- 打开 DevEco Studio 中的模拟器
- 使用 HDC 命令安装:
hdc install your_app.hap - 或直接将 HAP 文件拖入模拟器窗口
💡 模拟器不校验签名,因此开发测试阶段可以跳过整个证书流程。
4.3 真机测试(Debug签名)
要在真实鸿蒙设备上测试,需要完成以下步骤:
Step 1:获取设备 UDID
- 用 USB 线连接设备到电脑
- 打开命令行,执行:
hdc shell bm get -u或者在设备的「设置」→「关于手机」中连续点击版本号获取设备序列号
- 记录设备 UDID
Step 2:注册设备
- 登录 AGC 控制台
- 进入「项目设置」→「设备管理」
- 添加设备,输入设备名称和 UDID
- 最多可注册 100 台设备
Step 3:开启开发者模式
- 在鸿蒙设备上,进入「设置」→「关于手机」
- 连续点击「版本号」7次,开启开发者模式
- 进入「设置」→「系统和更新」→「开发者选项」
- 开启「USB调试」和「允许通过HDC安装应用」
Step 4:安装测试
- 在 App Inventor 中编译带 Debug 签名的 HAP
- 使用 USB 连接设备
- 执行安装:
hdc install your_app_signed.hap - 或使用 App Inventor 提供的二维码扫描安装
4.4 与 iOS 测试流程对比
| 步骤 | iOS测试 | 鸿蒙测试 |
|---|---|---|
| 开发者账号 | 需要(99美元/年) | 免费 |
| 证书申请 | CSR→Apple Distribution证书 | CSR→AGC签名证书 |
| 设备注册 | 需注册UDID(100台限制) | 需注册UDID(100台限制) |
| 配置文件 | Provisioning Profile (.mobileprovision) | Profile (.p7b) |
| 开发者模式 | iOS 16+需开启 | 需开启 |
| 安装方式 | 二维码/AltStore | HDC/二维码 |
| 模拟器测试 | Xcode(无需签名) | DevEco Studio(无需签名) |
五、应用上架
5.1 三大平台上架流程对比
| 步骤 | Android (Google Play) | iOS (App Store) | HarmonyOS (华为应用市场) |
|---|---|---|---|
| 开发者注册 | $25 一次性 | $99/年 | 免费 |
| 签名方式 | 自签名 keystore | Apple Distribution | AGC Release 证书 |
| 应用包格式 | .apk / .aab |
.ipa |
.hap / .app |
| 审核周期 | 1-7天 | 1-7天 | 1-3天 |
| 审核严格度 | 较宽松 | 最严格 | 适中 |
| 首次提交 | 较快 | 需要更多信息 | 需要软件著作权(部分) |
5.2 鸿蒙应用上架步骤
- 使用 Release 签名编译 HAP 包
- 登录 AGC 控制台
- 进入「分发」→「版本信息」
- 上传 HAP 包
- 填写应用信息:
- 应用图标和截图
- 应用描述和更新说明
- 分类和标签
- 隐私政策URL
- 提交审核
- 审核通过后自动上架
六、证书主题深度解析
6.1 为什么鸿蒙证书比安卓复杂?
Android 的开放性允许用户自行管理签名密钥(keystore),不需要第三方认证。而 HarmonyOS NEXT 借鉴了 iOS 的封闭安全理念:
- 安全隔离:所有应用必须由可信机构(华为)签发的证书签名
- 设备绑定:Debug 签名绑定特定设备,防止调试证书被滥用分发
- 统一管理:通过 AGC 平台集中管理证书、设备和应用
- 来源可溯:每个应用都可以追溯到具体的开发者身份
6.2 证书文件说明
| 文件类型 | 格式 | 用途 | 类比 Android/iOS |
|---|---|---|---|
.p12 |
PKCS#12 密钥库 | 存储私钥和证书链 | Android keystore / iOS .p12 |
.cer |
X.509 证书 | 签名证书(公钥) | Apple .cer 证书 |
.csr |
证书签名请求 | 向AGC申请证书 | Apple CSR |
.p7b |
PKCS#7 | Profile配置文件 | iOS .mobileprovision |
.hap |
HarmonyOS包 | 应用安装包 | Android .apk / iOS .ipa |
6.3 三大平台编译流程对比总结
Android 编译(最简单)
编写项目 → 点击「构建APK」 → 下载安装 ✅
- 无需任何证书
- 自签名 keystore
- 可直接安装测试
iOS 编译(最复杂)
下载CSR → Apple开发者门户申请证书 → 创建App ID →
注册设备 → 创建Provisioning Profile → 上传Profile →
构建IPA → 扫码/上传App Store
- 需要付费开发者账号
- 证书有效期1年
- 最多注册100台设备
- 需要应用专用密码上传App Store
HarmonyOS NEXT 编译(适中)
注册华为开发者 → 创建AGC项目/应用 → 申请签名证书(.cer) →
创建Profile(.p7b) → 上传证书和Profile到App Inventor →
构建HAP → 安装测试/上架
- 开发者注册免费
- 模拟器测试无需证书
- Debug签名可自动完成
- Release发布需手动申请证书
七、常见问题 FAQ
Q1:可以跳过证书直接在真机上测试吗?
不可以。 鸿蒙真机强制要求签名。但模拟器不校验签名,可以用来快速测试。
Q2:Debug 签名和 Release 签名的 HAP 有什么区别?
Debug 签名只能在已注册的设备上运行,不能上架应用市场。Release 签名可以在任意设备上运行并上架。
Q3:证书过期后怎么办?
需要重新申请证书并重新编译应用。建议申请证书时设置较长的有效期。
Q4:一个人可以申请多少个证书?
AGC 平台对每个应用可以申请多个证书,建议 Debug 和 Release 使用不同的证书。
Q5:和 iOS 相比,鸿蒙的证书流程更简单还是更复杂?
整体比 iOS 简单。主要优势:开发者账号免费、模拟器无需签名、Debug 签名自动化程度更高。iOS 需要付费的 Apple 开发者计划才能在真机上测试。
参考链接
- 华为开发者联盟
- AppGallery Connect (AGC) 控制台
- HarmonyOS NEXT 签名配置官方文档
- App Inventor 2 中文网 - iOS编译教程
- App Inventor 2 中文网
本文由 App Inventor 2 中文网 整理,如有疑问请到清泛IT社区讨论。
扫码添加客服咨询