很多人第一关就卡住了。
代码在模拟器里跑得好好的,想装到真机上看看效果,DevEco 直接弹一堆红字,说的是证书、Profile、签名——四个词你一个都不认识。
这篇把从「写完」到「装进去」再到「上架」的路走一遍。不深入讲签名算法,只讲每一步在干什么、为什么必须做、卡住了通常是哪里的问题。
鸿蒙的应用包,签名分两种用途,混了就会各种报错。
调试签名是给自己用的。装在自己手机上、发给同事试,用这个。DevEco 里勾一下「自动生成签名」就能用,账号登录好就自动搞定。
发布签名是给应用市场用的。要上架华为应用市场,必须用它。
这两个不通用。用发布证书签的包装不进手机调试,用调试证书签的包装上去,用户手机也认。
所以第一个要做对的动作是:搞清楚你现在是要调试还是要发布。要调试,别碰发布证书,那玩意儿申请起来要时间。
想在真机上跑,需要在 DevEco 里配四样东西。名字都很像,容易混,一个个说:
名字 | 后缀 | 通俗理解 |
|---|---|---|
密钥库 | .p12 | 一个上了锁的盒子,里面装着你的密钥 |
密钥别名 | — | 盒子里那把钥匙的名字 |
证书 | .cer | 身份证明,说明「这个包是我做的」 |
Profile | .p7b | 授权书,说明「这个包允许装在哪台设备上」 |
四样齐了,才能签名成功。少一样就报错。

为什么要这么麻烦?因为鸿蒙在安装时会验证两件事:这个包是谁做的(靠证书)、这台设备有没有被允许装(靠 Profile)。两者缺一,系统直接拒绝安装。
Profile 里写着设备的唯一标识。所以真机调试时,你的手机要先进开发者模式、开 USB 调试,还要把设备 ID 登记进 Profile——这就是为什么换个手机装不上,得重新弄。
真机调试的完整动作:
卡在这一步的人,九成的错误是手机没连上或者账号没登录,而不是签名本身。
这是第二个容易混的地方。
HAP 是模块包,一个模块一个。你的应用如果只有一个 entry 模块,就是一个 HAP。
APP 是整包,把多个 HAP 打在一起。上架用的是这个。
所以:
打包前还有一件事要做:把构建模式从 debug 切成 release。debug 包体积大、带调试信息,上架会直接被拒。
bash
# 打包 APP(release 模式),包含所有 HAP
hvigorw assembleApp --mode release产物在 build/outputs/default/ 下面,文件名带 -signed 的才是签好名的。
到这一步,代码已经不是问题了。真正会卡住上架的是这三样:
第一,APP 备案。
这是工信部的要求,不是华为的要求。服务器在境内、要上架的应用都得做。没备案号,审核直接驳回,没有商量余地。
第二,隐私政策链接。
必须有,而且必须能打开。内容要写清楚:收集哪些数据、用来干什么、怎么存、存多久。很多人写个模板就交上去,结果被驳回——审核人员会真的点开看,也会真的用一遍你的应用。
第三,应用截图。
至少 3 张,必须是真实设备截图,不能是设计稿。截图里的界面要和打开应用后看到的一致。
这三件事有个共同点:都跟技术无关,但都能卡死上架。而且都得提前准备,备案要时间,隐私政策要写,截图要等到功能定稿才能截。
资料齐了,在 AppGallery Connect 提交,接下来是审核。
审核会真的把应用装到设备上跑一遍,所以你交上去的东西有几个硬指标:
审核时长官方说一般是 1 到 3 个工作日,实际有快有慢。
审核通过之后还有一个动作容易忘:在应用的显著位置标注备案号,并链接到备案系统。这是硬性要求,不是建议。
提交之前,对着这七条自己过一遍:
这七条不需要多深的技术,但每一条都对应一个真实的驳回理由。
回头看这条路:签名、打包、备案、上架。
每一环单独拿出来都不复杂,逻辑两三句话能说清。但把它们串起来做一遍,新手通常要花掉不少时间——不是理解不了,是每一步都有几个细碎的地方会卡住:
这些问题的共同点是:它们不是知识,是踩过才知道的经验。
看文档能看懂原理,但看不懂「你这个报错通常是哪个环节的问题」。而这恰恰是最耗时间的部分。
这也是为什么有人会去系统学一遍鸿蒙。不是因为流程多难,是因为自己摸的时候,卡点太碎、反馈太慢。
以誉天教育为例,它的 AI 鸿蒙全栈课,课程纲要是从 ArkTS 与 Stage 模型、ArkUI 与业务页面、数据网络与权限,到多端适配与 AI 入口这一路铺下来的,每个阶段都有可运行、可演示、可部署的作品产出。如果你在对比课程,可以直接问课程顾问要一份纲要,看它有没有覆盖到「部署」这一环——有没有讲签名、打包、真机调试这些动手环节。只讲写界面不讲怎么上线的课,学完你还是装不到自己手机上。
鸿蒙应用从写完到上架,七个动作:
开开发者模式 → 配签名 → 真机调试 → 切 release → 打 APP 包 → 备案和资料 → 提交审核。
技术上没有难点,难在每一步都有几个细节。
先分清「调试」和「发布」这两个场景,剩下的就是照着清单一条条走。第一次走会慢,走通了第二次就快了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。