尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HarmonyOS7 应用发布:从开发到上架 AppGallery 的完整流程
文章目录前言发布前检查清单签名配置步骤 1生成密钥和证书请求文件步骤 2申请发布证书步骤 3申请 Profile 文件步骤 4配置签名信息构建 HAP / APP构建 HAP单模块包构建 APP上架包AppGallery Connect 配置创建应用配置签名指纹开通服务提交审核基本流程注意事项审核常见被拒原因写在最后前言第一次提交 AppGallery 审核被拒了。理由是隐私声明不完整。改了再提又被拒——这次是截图尺寸不对。折腾了三轮才过审前后花了快两周。说实话发布流程本身不复杂但细节坑太多。一个地方疏忽就打回重来白白浪费时间。今天把完整流程走一遍帮你一次过审。开发阶段再顺利到了发布这一关也容易翻车。签名配置、构建打包、AppGallery 配置、提交审核——每一步都有细节要注意。这篇文章把从代码写完了到App 上架了的完整链路梳理一遍照着走少踩坑。发布前检查清单先别急着打包逐项过一遍检查项说明常见问题应用标识bundleName 与 AppGallery 一致不一致导致签名失败版本号versionCode 递增versionName 有意义版本号没改覆盖安装失败权限声明module.json5 中只申请必要权限多余权限会被审核打回隐私声明数据收集说明完整缺少隐私政策链接直接被拒截图素材3-5 张720×1280 以上9:16 比例尺寸不对、带 debug 信息图标512×512 PNG无透明通道图标太糊或用了系统图标调试代码移除 console.log、测试接口残留调试信息被拒签名配置发布证书和 Profile 已就位用了调试证书打发布包划重点隐私声明和权限是审核的重灾区务必认真检查。申请了什么权限隐私政策里就要解释为什么需要。签名配置发布包必须带签名没有签名的 App 装不上真机更上不了架。步骤 1生成密钥和证书请求文件在 DevEco Studio 菜单栏Build → Generate Key and CSRKey Store File点击 New 创建新的.p12密钥库文件选好存储路径Password密钥库密码至少 8 位大小写数字特殊符号选两种以上Alias密钥别名自己起个有意义的名字比如myapp_release_2026Validity证书有效期建议 25 年以上Certificate填组织信息——姓名、组织、城市、国家码最后设置 CSR 文件保存路径点 Finish完成后你会得到两个文件.p12密钥库和.csr证书请求文件。步骤 2申请发布证书登录 AppGallery Connect进入你的项目左侧导航 →数字证书→ 点击新增数字证书填写证书名称选择发布证书类型上传刚才生成的.csr文件点击提交下载生成的.cer证书文件步骤 3申请 Profile 文件还在 AppGallery Connect左侧导航 →Profile→ 点击添加 Profile填写 Profile 名称类型选发布选择上一步创建的数字证书提交后下载.p7bProfile 文件步骤 4配置签名信息回到 DevEco StudioFile → Project Structure → Project → Signing Configs取消勾选 “Automatically generate signature”然后手动填写字段值Store File步骤 1 生成的.p12文件Store Password步骤 1 设置的密码Key Alias步骤 1 设置的别名Key Password与 Store Password 一致Sign AlgSHA256withECDSA固定值Profile File步骤 3 生成的.p7b文件Certpath File步骤 2 生成的.cer文件配置完成后的build-profile.json5大致如下{ app: { signingConfigs: [ { name: default, type: HarmonyOS, material: { certpath: /path/to/release.cer, storeFile: /path/to/release.p12, storePassword: your_password, keyAlias: myapp_release_2026, keyPassword: your_password, profile: /path/to/release.p7b, signAlg: SHA256withECDSA, storeFileHash: xxx } } ] } }敲黑板密钥文件.p12千万别丢丢了就没法更新 App 了只能重新签名但旧版本用户没法覆盖升级。构建 HAP / APP签名配好了接下来打包。构建 HAP单模块包调试或单个模块测试用hvigorw assembleHap--modemodule-pmoduleentrydefaultHAP 包输出在entry/build/default/outputs/default/目录下。构建 APP上架包上架必须用 APP 包它包含所有模块hvigorw assembleApp--moderelease-pproductdefault也可以在 DevEco Studio 菜单操作Build → Build Hap(s)/APP(s) → Build APP(s)APP 包输出在build/outputs/default/目录下文件名类似myapp-default-signed.app。注意Build APP 默认是 Release 模式已经是正式签名包不需要额外设置。Build HAP 默认是 Debug 模式这个要区分清楚。构建前确认一件事工程里不需要打包的模块要先移除DevEco 会把所有模块都打进去。比如测试用的示例模块别一起打进去。AppGallery Connect 配置包打好了去 AppGallery Connect 做上架前的准备。创建应用登录 AppGallery Connect → 我的项目 → 添加项目项目下添加应用填写应用名称、bundleNamebundleName 必须和代码里的一致不然签名对不上配置签名指纹本地生成 SHA256 指纹keytool-list-v-keystorerelease.p12-storepassyour_password复制 SHA256 值AppGallery Connect → 项目设置 → 常规 → 应用信息 → SHA256 证书指纹 → 粘贴开通服务如果你用到了华为的服务推送、账号、支付等需要在 AppGallery Connect 里开通对应服务。不开通的话相关 API 调不通。提交审核准备工作做完了正式提交。基本流程软件包管理→ 上传.app文件版本信息→ 填写版本号、更新说明分发国别→ 选择要上架的国家/地区应用信息→ 填写应用介绍、一句话简介、截图、视频内容分级→ 根据应用内容选择年龄分级隐私声明→ 填写隐私政策 URL声明数据收集情况提交审核注意事项应用介绍认真写审核会看。别用这是一个很好的应用这种废话截图3-5 张必须是真实界面截图不能用模拟图或设计稿隐私政策 URL必须是可访问的 HTTPS 链接指向完整的隐私政策文档更新说明写清楚这版改了什么别留空软件包加密建议开启保护代码安全审核周期一般 1-3 个工作日高峰期可能更长。审核常见被拒原因审核被拒最让人崩溃列几个高频原因隐私声明不完整申请了定位权限但隐私政策没提定位数据用途权限滥用申请了跟功能无关的权限比如手电筒 App 申请通讯录截图不规范带 debug 信息、尺寸不对、非真实截图应用崩溃审核人员一打开就闪退这个最冤——提交前一定要在真机上完整测试包含敏感内容政治、色情、暴力等不用多解释未适配最新系统在 HarmonyOS7 上有兼容问题应用介绍与实际不符介绍写了某功能但 App 里找不到图标不规范用了系统图标、有透明通道、分辨率太低签名问题用了调试签名打发布包或者 Profile 类型不对版本号问题versionCode 没递增或者低于已发布版本血泪教训提交前在真机上跑一遍完整流程。模拟器上正常不代表真机也正常审核用的是真机。写在最后发布流程总结起来就四步签名 → 打包 → 配置 → 提审。每一步都不难但每一步都有细节坑。最容易忽略的永远是隐私声明和权限——建议写代码的时候就同步维护隐私政策文档别等到提交审核才补那时候容易漏。审核被拒别慌看清楚拒绝理由针对性修改就行。大多数被拒都是小问题改了重新提交过审不难。
RELATED

相关推荐

Wagtail多语言内容管理系统实战指南:构建全球化网站的高效架构

Wagtail多语言内容管理系统实战指南:构建全球化网站的高效架构

Wagtail多语言内容管理系统实战指南:构建全球化网站的高效架构 【免费下载链接】wagtail A Django content management system focused on flexibility and user experience 项目地址: https://gitcode.com/GitHub_Trending/wa/wagtail 在当今全球化的互联网…

📅 2026/7/24 7:11:10
龍魂 · 模型升级白皮书 v2.0

龍魂 · 模型升级白皮书 v2.0

龍魂 模型升级白皮书 v2.0╔═══════════════════════════════════════════════════════════════╗ ║ 【文档性质】P2-ITERATION(迭代级版本升级记录) ║ ║ 【地位】…

📅 2026/8/13 14:01:28
oracle对日期按指定日期的时间段按天循环,日期字符串转date

oracle对日期按指定日期的时间段按天循环,日期字符串转date

1、代码如下: -- Created on 2020/10/28 by EDZ declare -- Local variables herei integer;START_TIME DATE:TO_DATE( 2020-08-01 00:00:00, yyyy-mm-dd hh24:mi:ss);END_TIME DATE:TO_DATE( 2020-10-01 00:00:00, yyyy-mm-dd hh24:mi:ss);START_TIME_STR VARCHA…

📅 2026/9/5 23:39:48
MORE NEWS

更多资讯

📰

Wazuh AWS CloudTrail 集成指南:从 S3 采集到规则引擎告警的完整实践

Wazuh AWS CloudTrail 集成指南:从 S3 采集到规则引擎告警的完整实践 【免费下载链接】wazuh Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads. 项目地址: https://gitcode.com/GitHub_Trending/…

📰

GitButler 在 Windows 上构建看起来卡在 openssl-sys crate 上怎么排查并配置 Perl?

GitButler 在 Windows 上构建看起来卡在 openssl-sys crate 上怎么排查并配置 Perl? 【免费下载链接】gitbutler The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte 项目地址: https://gitcode.com/GitHub_Trending/gi/gitbutl…

📰

CVAT 中 MOT 多目标跟踪格式的导出与导入:zip 结构、字段语义与源码级实现详解

CVAT 中 MOT 多目标跟踪格式的导出与导入:zip 结构、字段语义与源码级实现详解 【免费下载链接】cvat Computer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, an…

📰

高保真建模与协同仿真平台的技术实现与应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

PHP FPDF库:轻量级PDF生成与高级应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ESP32 Arduino Core 实战:使用 Lambda 表达式与 FunctionalInterrupt 实现 GPIO 按键中断与 LED 控制

ESP32 Arduino Core 实战:使用 Lambda 表达式与 FunctionalInterrupt 实现 GPIO 按键中断与 LED 控制 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 导读 本…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬