AppInventor2 中文社区

标题: 【HarmonyOS】编译、测试全流程 [打印本页]

作者: App Inventor 2     时间: 2026-05-07 13:27
标题: 【HarmonyOS】编译、测试全流程
一、HarmonyOS NEXT 应用签名体系概述

HarmonyOS NEXT 对应用安全有严格的要求,任何 HAP(HarmonyOS Ability Package)包都必须经过签名才能安装到真机。

1.1 签名类型

签名类型能否安装能否上架应用市场设备限制证书来源适用场景
未签名不能不行--无模拟器调试可用
Debug签名仅注册设备不行需提前注册设备UDIDSDK自带调试证书开发测试阶段
Release签名任意设备可以无限制华为开发者后台(AGC)申请正式发布


1.2 与 Android/iOS 签名体系对比

维度AndroidiOSHarmonyOS NEXT
未签名安装开启"未知来源"即可不允许不允许(模拟器除外)
调试签名自签名APK即可需Apple开发者证书+设备注册需注册设备UDID+Debug证书
发布签名自签名keystoreApple Distribution证书华为AGC申请Release证书
开发者费用免费($25一次性注册)99美元/年(约680元/年)免费(个人开发者)
证书管理平台本地keystore文件Apple开发者门户AppGallery Connect (AGC)
配置文件无需需Provisioning Profile需Profile配置文件
证书有效期自定义(建议25年+)1年1-3年(取决于类型)




二、准备工作:华为开发者账号

1. 访问 华为开发者联盟 注册账号
2. 完成实名认证(个人或企业)
3. 登录 AppGallery Connect (AGC) 控制台

对比项Apple开发者华为开发者
年费99美元/年(约680元)免费
实名认证需要Apple ID需要华为账号+实名
审核周期1-2天1-3天




三、证书申请全流程

3.1 创建项目与应用(AGC)

1. 登录 AGC 控制台
2. 点击「我的项目」->「添加项目」,输入项目名称
3. 在项目下添加应用,选择平台为 HarmonyOS NEXT
4. 填写应用名称和包名(格式建议:cn.fun123.你的项目名)

3.2 两类证书

(1)调试证书(Debug证书)
- 用途:开发测试阶段使用
- 来源:SDK自带,无需手动申请
- 限制:只能在已注册UDID的设备上运行
- App Inventor处理方式:BuildServer 自动使用 SDK 自带的 OpenHarmony.p12 进行 Debug 签名,用户无感知

(2)发布证书(Release证书)
- 用途:正式发布和上架应用市场
- 来源:在AGC后台手动申请
- 包含文件:签名证书(.cer 文件)+ Profile配置文件(.p7b 文件)

3.3 发布证书申请步骤

Step 1:生成密钥对和证书签名请求(CSR)

1. 打开 DevEco Studio(或使用 OpenJDK 的 keytool)
2. 进入 Build -> Generate Key and CSR
3. 填写密钥信息:Key Alias(密钥别名)、Password(密钥密码)、Validity(有效期,建议25年以上)
4. 生成 .p12 密钥库文件和 .csr 证书请求文件

Step 2:在 AGC 申请签名证书

1. 登录 AGC 控制台
2. 进入项目 -> 选择应用 ->「项目设置」->「常规」
3. 找到「签名配置」部分,点击「添加签名证书」
4. 上传 Step 1 生成的 .csr 文件
5. 提交后下载生成的签名证书(.cer 文件)

Step 3:创建 Profile 配置文件

1. 在 AGC 控制台同一页面,点击「添加Profile」
2. 选择证书类型:调试类型(需注册设备UDID)或 发布类型(用于上架)
3. 选择应用包名和签名证书
4. 生成并下载 Profile 文件(.p7b 文件)

Step 4:上传证书到 App Inventor

1. 登录 App Inventor 2 中文网
2. 在项目中选择「构建」菜单,选择 HarmonyOS NEXT 编译选项
3. 上传签名证书(.cer 文件)和 Profile配置文件(.p7b 文件)
4. 开始编译



四、如何测试

4.1 测试环境对比

测试方式AndroidiOSHarmonyOS NEXT
模拟器Android Studio模拟器Xcode模拟器DevEco Studio模拟器
CompanionAI2 CompanioniOS Companion暂无(开发中)
USB调试ADB需信任电脑HDC(需开启开发者模式)
扫码安装二维码二维码(Ad Hoc)二维码(需签名HAP)


4.2 模拟器测试(无需签名)

模拟器是开发阶段最便捷的测试方式,不需要任何签名证书:

1. 编译生成未签名的 HAP 包
2. 打开 DevEco Studio 中的模拟器
3. 使用 HDC 命令安装:
hdc install your_app.hap
4. 或直接将 HAP 文件拖入模拟器窗口

提示:模拟器不校验签名,因此开发测试阶段可以跳过整个证书流程。

4.3 真机测试(Debug签名)

Step 1:获取设备 UDID

1. 用 USB 线连接设备到电脑
2. 打开命令行,执行:
hdc shell bm get -u
3. 记录设备 UDID

Step 2:注册设备

1. 登录 AGC 控制台
2. 进入「项目设置」->「设备管理」
3. 添加设备,输入设备名称和 UDID(最多可注册 100 台设备)

Step 3:开启开发者模式

1. 在鸿蒙设备上,进入「设置」->「关于手机」
2. 连续点击「版本号」7次,开启开发者模式
3. 进入「设置」->「系统和更新」->「开发者选项」
4. 开启「USB调试」和「允许通过HDC安装应用」

Step 4:安装测试

1. 在 App Inventor 中编译带 Debug 签名的 HAP
2. 使用 USB 连接设备,执行:
hdc install your_app_signed.hap
3. 或使用 App Inventor 提供的二维码扫描安装

4.4 与 iOS 测试流程对比

步骤iOS测试鸿蒙测试
开发者账号需要(99美元/年)免费
证书申请CSR->Apple Distribution证书CSR->AGC签名证书
设备注册需注册UDID(100台限制)需注册UDID(100台限制)
配置文件Provisioning Profile (.mobileprovision)Profile (.p7b)
开发者模式iOS 16+需开启需开启
安装方式二维码/AltStoreHDC/二维码
模拟器测试Xcode(无需签名)DevEco Studio(无需签名)




五、应用上架

5.1 三大平台上架流程对比

步骤Android (Google Play)iOS (App Store)HarmonyOS (华为应用市场)
开发者注册$25 一次性$99/年免费
签名方式自签名 keystoreApple DistributionAGC Release 证书
应用包格式.apk / .aab.ipa.hap / .app
审核周期1-7天1-7天1-3天
审核严格度较宽松最严格适中


5.2 鸿蒙应用上架步骤

1. 使用 Release 签名编译 HAP 包
2. 登录 AGC 控制台
3. 进入「分发」->「版本信息」
4. 上传 HAP 包
5. 填写应用信息(图标、截图、描述、隐私政策URL等)
6. 提交审核
7. 审核通过后自动上架



六、证书主题深度解析

6.1 为什么鸿蒙证书比安卓复杂?

Android 的开放性允许用户自行管理签名密钥(keystore),不需要第三方认证。而 HarmonyOS NEXT 借鉴了 iOS 的封闭安全理念:

1. 安全隔离:所有应用必须由可信机构(华为)签发的证书签名
2. 设备绑定:Debug 签名绑定特定设备,防止调试证书被滥用分发
3. 统一管理:通过 AGC 平台集中管理证书、设备和应用
4. 来源可溯:每个应用都可以追溯到具体的开发者身份

6.2 证书文件说明

文件类型格式用途类比 Android/iOS
.p12PKCS#12 密钥库存储私钥和证书链Android keystore / iOS .p12
.cerX.509 证书签名证书(公钥)Apple .cer 证书
.csr证书签名请求向AGC申请证书Apple CSR
.p7bPKCS#7Profile配置文件iOS .mobileprovision
.hapHarmonyOS包应用安装包Android .apk / iOS .ipa


6.3 三大平台编译流程对比总结

Android 编译(最简单)
编写项目 -> 点击「构建APK」 -> 下载安装
- 无需任何证书,自签名 keystore,可直接安装测试

iOS 编译(最复杂)
下载CSR -> Apple开发者门户申请证书 -> 创建App ID -> 注册设备 -> 创建Provisioning Profile -> 上传Profile -> 构建IPA -> 扫码/上传App Store
- 需要付费开发者账号,证书有效期1年,最多注册100台设备

HarmonyOS NEXT 编译(适中)
注册华为开发者 -> 创建AGC项目/应用 -> 申请签名证书(.cer) -> 创建Profile(.p7b) -> 上传证书和Profile到App Inventor -> 构建HAP -> 安装测试/上架
- 开发者注册免费,模拟器测试无需证书,Debug签名可自动完成



七、常见问题 FAQ

Q1:可以跳过证书直接在真机上测试吗?
不可以。鸿蒙真机强制要求签名。但模拟器不校验签名,可以用来快速测试。

Q2:Debug 签名和 Release 签名的 HAP 有什么区别?
Debug 签名只能在已注册的设备上运行,不能上架应用市场。Release 签名可以在任意设备上运行并上架。

Q3:证书过期后怎么办?
需要重新申请证书并重新编译应用。建议申请证书时设置较长的有效期。

Q4:和 iOS 相比,鸿蒙的证书流程更简单还是更复杂?
整体比 iOS 简单。主要优势:开发者账号免费、模拟器无需签名、Debug 签名自动化程度更高。



参考链接

- 华为开发者联盟
- AppGallery Connect (AGC) 控制台
- HarmonyOS NEXT 签名配置官方文档
- App Inventor 2 中文网 - iOS编译教程
- App Inventor 2 中文网


本文由 App Inventor 2 中文网 整理,如有疑问请到清泛IT社区讨论。




欢迎光临 AppInventor2 中文社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3