在这里插入图片描述

网罗开发 (小红书、快手、视频号同名)

  大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。

图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG

我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。

展菲:您的前沿技术领航员
👋 大家好,我是展菲!
📱 全网搜索“展菲”,即可纵览我在各大平台的知识足迹。
📣 公众号“Swift社区”,每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。
💬 微信端添加好友“fzhanfei”,与我直接交流,不管是项目瓶颈的求助,还是行业趋势的探讨,随时畅所欲言。
📅 最新动态:2025 年 3 月 17 日
快来加入技术社区,一起挖掘技术的无限潜能,携手迈向数字化新征程!


前言

HarmonyOS 应用在真机调试、发布内测或上架应用市场前,都必须完成签名:调试阶段用调试证书,正式发布用发布证书。签名配置错误会导致「无法安装」「无法上架」或「权限被拒绝」。上架则涉及开发者认证、应用信息、隐私与合规等,提前了解能少走弯路。

本文只讲签名类型、DevEco Studio 中的签名配置、以及上架流程中的关键环节,不涉及具体账号与截图操作。

签名类型与用途

类型 用途 有效期与限制
调试签名 真机调试、开发阶段安装 通常 1 年,仅用于调试
发布签名 上架应用市场、内测分发 需在开发者后台申请,与应用绑定
  • 调试时未配置签名,DevEco Studio 会使用默认的调试证书,部分真机或权限可能受限。
  • 发布前必须在华为开发者联盟后台申请「应用证书」「Profile」等,并在工程中配置为发布签名。

在 DevEco Studio 中配置签名

自动签名(推荐入门)

File → Project Structure → Project → Signing Configs 中,可选择 Automatically generate signature,并登录华为开发者账号,由 IDE 自动拉取证书与 Profile 完成签名。适合快速真机调试和首次上架。

要点:

  • 需先在同一电脑上安装 HUAWEI AppGallery Connect 插件或完成账号绑定,否则无法自动生成。
  • 自动生成的是调试用还是发布用,取决于在后台创建的是「调试」还是「发布」类型,需在开发者联盟后台确认。

手动配置签名

手动配置时,需要准备:

  1. 密钥库(.p12 / .keystore):包含私钥,用于签名,需妥善保管。
  2. 证书(.cer):从密钥库导出或由后台生成,用于在开发者联盟上传并申请 Profile。
  3. Profile(.p7b):在开发者联盟为「应用 + 设备/环境」申请的配置文件,内含包名、证书等信息。

Signing Configs 中:

  • Store File:选择 .p12 或 .keystore 路径
  • Store Password / Key Alias / Key Password:按密钥库实际填写
  • Signing Certificate / Profile:选择对应的 .cer 与 .p7b(或按 IDE 当前项名称选择)

release 构建类型下应使用发布证书与发布 Profile,debug 下可使用调试证书,避免混用。

build-profile.json5 中的 signingConfigs

模块的 build-profile.json5 中可指定使用哪一套签名配置,例如:

{
  "signingConfigs": [
    {
      "name": "default",
      "type": "HarmonyOS",
      "material": {
        "certpath": "path/to/cert.cer",
        "storePassword": "***",
        "keyAlias": "***",
        "keyPassword": "***",
        "profile": "path/to/profile.p7b",
        "storeFile": "path/to/keystore.p12"
      }
    }
  ],
  "buildOption": {
    "arkOptions": {
      "signingConfig": "default"
    }
  }
}

敏感信息(密码、路径)建议用环境变量或本地不提交的配置文件,避免泄露。

上架流程概览

1. 开发者认证与账号

在华为开发者联盟完成开发者注册与认证(个人/企业),并开通「应用市场」相关服务。未认证无法提交审核。

2. 创建应用与基本信息

在 AppGallery Connect 或开发者联盟后台「我的应用」中创建应用,填写:

  • 包名(与工程中 app/build-profile.json5 等处的 bundleName 一致)
  • 应用名称、分类、简介、截图、隐私政策链接等

包名一旦提交审核通常不可随意修改,需与签名、工程配置一致。

3. 版本与安装包

上传安装包(.app 或 .hap),版本号、版本名需大于上一审核通过版本。安装包必须使用 发布证书与发布 Profile 签名,否则会提示签名不符。

4. 隐私与合规

  • 隐私政策:必须提供可访问的 URL,应用内需在合适位置(如设置、首次启动)展示或链接到该政策。
  • 权限说明:在后台为每个申请的权限填写「使用目的/理由」,与 module.json5 中的 requestPermissions 对应,审核会核对。
  • 敏感能力:如定位、相机、通讯录等,需在隐私政策中明确说明收集范围、用途、存储地等,符合应用市场与当地法规要求。

5. 提交审核与后续

提交审核后,根据审核意见修改应用或说明,通过后即可上架。后续版本更新时,重复「上传新包 + 更新说明 + 提交审核」即可。

常见问题

现象 可能原因 处理思路
真机安装失败、提示签名错误 未配置签名或证书与设备不匹配 使用自动签名或正确配置调试证书与 Profile
上架提示签名不符 使用了调试证书或错误 Profile 在后台下载发布 Profile,工程中配置发布签名后重新打包
审核不通过:权限/隐私 权限未说明或隐私政策不完整 在后台补全权限说明,并在应用内可访问隐私政策
包名不一致 工程 bundleName 与后台应用包名不一致 统一修改工程配置或后台应用包名(若允许)

总结

HarmonyOS 应用签名分调试与发布两套:调试用于真机开发,发布用于上架。在 DevEco Studio 中可通过自动签名或手动配置证书、Profile 完成;发布包必须使用发布签名。上架需完成开发者认证、创建应用、填写信息与隐私、上传发布签名包并提交审核。提前做好签名配置与隐私说明,能显著减少上架过程中的返工。

Logo

加入「COC·上海城市开发者社区」,成就更好的自己!

更多推荐