本节目标· 理解调试签名与发布签名的核心区别掌握发布证书与 Profile 文件的申请与配置方法· 掌握在 AppGallery Connect 中创建应用、配置应用信息的完整流程· 掌握 DevEco Studio 中正式发布版本的打包与签名配置方法· 理解隐私合规的核心要求掌握隐私政策配置、权限最小化声明与第三方 SDK 信息补全的方法· 掌握应用上架审核的完整流程了解常见驳回原因与排查方法· 理解 HarmonyOS 应用更新的三种方式OTA 全量更新、OTA 增量更新与热修复· 能够独立完成从签名配置到应用上架的完整发布链路一、应用签名机制1.1 调试签名与发布签名的区别HarmonyOS 的签名文件分为两类用途有严格限制两套材料不要混用。调试证书专门用于开发、真机调试证书里会绑定开发设备的 UDID设备唯一标识系统允许直接安装和断点调试。调试签名可以通过 DevEco Studio 的自动签名功能生成方便开发者快速调试。发布证书仅用于上架应用市场证书无设备绑定信息可以安装在所有设备上。发布场景必须使用手动签名需要在 AppGallery Connect 后台申请正式的发布证书。关键区别自动签名是“内部通行证”仅用于调试场景发布证书是“公开身份证”用于上架分发。发布签名不能用于真机调试真机调试时 hvigor 会直接拦截报错。1.2 发布证书与 Profile 文件发布构建需要在 AppGallery Connect 中生成发布证书和发布 Profile。Profile 中的 bundleName 和 appIdentifier 必须与工程一致证书、Profile、私钥库及 keyAlias 必须属于同一套签名材料。证书文件格式为 .cer由华为 AppGallery Connect 颁发分为应用调试证书和应用发布证书。Profile 文件包含数字证书信息、描述应用允许申请的证书权限列表以及允许应用调试的设备列表Release 类型应用设备列表为空每个应用包中均必须包含一个 Profile 文件。1.3 常见签名错误排查签名配置常见报错原因包括bundleName 不一致debug/release 证书和 Profile 混用Profile 过期私钥库密码或 alias 错误调试设备未加入 Profile切换 product 后仍使用旧签名申请了受限权限但 Profile 的 APL/ACL 未授权。排查方法先看 Build 或安装日志中最前面的完整错误码。可用 SDK 自带签名工具的 verify-profile 检查 Profile用 verify-app 提取并核对 HAP 内实际证书和 Profile。二、AppGallery Connect 应用创建与配置2.1 前置准备在 AppGallery Connect 中创建应用前需要先完成开发者账号的实名认证。个人开发者适合个人作品、工具类、学习项目审核相对宽松企业开发者适合商用项目、带支付、带企业服务的应用权限更多、上架权重更高。未完成实名认证无法创建应用、无法提交审核。此外需要完成 APP 备案。鸿蒙版 APP 备案需在接入商备案系统填写材料时选择“鸿蒙”平台并添加鸿蒙包名等信息。单机应用和境外应用无需备案。2.2 创建应用登录 AppGallery Connect进入“APP 与元服务”选择 HarmonyOS点击“新建发布”创建应用。填写应用名称、包名、应用类别、语言地区等信息。包名必须和打包 HAP 包完全一致大小写敏感。如果需要使用华为的服务如华为账号、应用内支付则必须先在“开发与服务”下创建项目再在项目下添加应用。2.3 配置应用信息创建应用后需要完善以下信息应用简介、详细描述、关键词贴合业务不堆砌上传合规图标、截图、展示素材严格匹配平台尺寸规范填写开发者信息、客服联系方式。图标和截图素材要求高清图标、应用截图16:91280×720 及以上可选宣传视频。应用名称避免使用泛词如“免费壁纸”名称和图标不得与其他 APP 相同或相似不得使用系统默认图标。2.4 隐私合规配置合规信息配置是审核核心需要完成以下步骤录入隐私政策 URL 并校验可访问完成权限说明配置逐条解释权限使用场景完成内容年龄分级问卷生成分级结果。隐私政策配置路径应用管理页面 → 版本信息 → 准备提交 → 隐私声明选择“隐私托管”前往“协议服务”配置隐私政策。三、正式打包与签名配置3.1 配置发布签名在 DevEco Studio 中打开项目工程进入项目签名配置导入在 AppGallery Connect 申请的证书.cer和 Profile 文件.p7b绑定正式发布签名关闭调试签名模式。在 build-profile.json5 中signingConfigs 中的证书、Profile、私钥库、alias 和密码要完整products 里的 signingConfig 要指向刚配置的签名项避免仍引用旧配置。3.2 打包正式 HAP 包执行 Build → Build App(s) 进行打包构建生成正式签名 HAP 包。打包前需要核对包名、版本号、版本名称确保与后台创建应用信息一致。禁止携带测试参数、测试域名、多余调试权限。app.json5 中的版本号仅用于确定版本新旧targetAPIVersion 标识应用运行需要的 API 目标版本。3.3 版本号规范每次版本迭代必须递增版本号且必须大于线上版本。使用同一套签名证书重新打包上传新包后填写更新日志再次提审。四、隐私合规核心要求4.1 隐私合规高频驳回问题根据华为应用市场审核数据隐私合规相关的驳回问题集中在以下几个方面。用户同意隐私政策前获取个人信息所有个人信息获取行为必须在用户同意隐私政策后触发。应用首次启动时应通过弹出隐私政策弹窗或在注册登录界面展示隐私政策以显著方式提示用户阅读。权限申请超出必要范围仅申请业务功能所必要的权限遵循权限最小化原则。申请了某权限但未提供该权限必须提供且实际有效的使用场景会被驳回。隐私标签缺失如果应用存在收集个人信息的行为需要勾选填写隐私标签明确使用场景和目的。填写入口AppGallery Connect APP与元服务 点击对应应用名称 版本信息 隐私标签信息录入。隐私政策未以明示同意方式征得同意征得用户同意的页面不得“默认同意”或“登录即同意”需要增设勾选框并设为默认未勾选状态由用户主动操作同意。4.2 隐私政策与代码行为一致性审核员会把隐私政策从头到尾读一遍然后实际操作应用看收集的数据和隐私政策里写的是否一致。开发者应将代码里所有用到权限、所有调用 SDK、所有收集用户数据的地方列一个清单然后对照这个清单逐条检查隐私政策有没有覆盖。重点检查项包括应用声明了哪些权限隐私政策里有没有说明每个权限的用途第三方 SDK 有哪些每个 SDK 的名称、提供方、收集的数据类型、用途是否写明有没有收集用户位置、通讯录、相机、麦克风等敏感信息隐私政策里有没有说明收集目的和使用方式数据存储和删除有没有说明。4.3 权限申请时机敏感权限如相机、麦克风、位置、存储必须在运行时动态申请且申请时机不能过早。应用一启动就弹出一堆权限请求是审核中常见的驳回原因。五、提交审核与上架流程5.1 提交审核步骤上传 HAP 安装包进入 AGC 版本管理上传已签名正式 HAP 包系统自动进行安全检测、兼容性检测、合规初筛。初筛报错必须全部修复否则无法提审。填写版本更新说明如实填写当前版本功能、优化点、修复问题简洁规范。提交审核全部资料确认无误后提交华为官方人工机器审核。审核周期参考普通个人应用 1-3 个工作日复杂商用应用 3-7 个工作日。5.2 审核通过后的发布模式审核通过后后台会出现“立即发布”按钮提供两种上线模式立即上线审核通过后全网立刻展示和定时上线自定义时间自动上架适合活动版本。5.3 常见驳回原因与整改驳回后应根据驳回原因逐条整改。常见问题包括隐私不合规、权限滥用、素材不规范、功能缺失、兼容性问题。整改后重新打包提审即可。高频驳回原因总结包名不一致后台包名和打包包名不统一、隐私政策与实际行为不一致、敏感权限申请时机太早、第三方 SDK 信息遗漏、应用名称或图标与其他应用相同/相似。六、应用版本更新策略6.1 应用市场内更新新版本应用通过应用市场上架后应用市场通知终端用户该应用有新版本终端用户可以根据通知到应用市场进行应用升级。这是最基础的更新方式用户完全掌控更新时机。6.2 应用内检测升级终端用户启动应用时应用市场检测到该应用有新版本会通知终端用户可以到应用市场进行应用的下载更新。开发者可以通过调用 updateManager 接口检测新版本并引导用户更新。需要注意在 HarmonyOS 中更新应用无法做到直接下载安装包更新而是必须跳转到应用市场进行更新。无论使用系统提供的更新样式还是自定义更新弹窗最后都需要跳转到应用市场。6.3 三种更新方式对比OTA 全量更新下载完整 HAP 包替换安装后重启应用。更新包大下载耗时较长但无版本限制安全性高。OTA 增量更新下载差分包本地合成新包后校验完整性替换安装后重启。更新包较小下载耗时较短但需要从指定版本升级差分包有版本限制。热修复下载补丁文件动态加载补丁无需重启应用。补丁文件极小下载耗时极短但修复范围有限仅支持逻辑修复需要预先集成框架。6.4 版本迭代流程修改代码后版本号必须递增大于线上版本使用同一套签名证书重新打包AGC 后台上传新包、填写更新日志、再次提审审核通过后覆盖上线用户可在线升级。七、多元化习题习题 1判断题题目在 HarmonyOS 中发布签名可以用于真机调试调试签名也可以用于上架应用市场。答案错误解读调试签名和发布签名严格区分用途不要混用。发布证书仅用于上架应用市场证书无设备绑定信息真机调试时 hvigor 会直接拦截报错。调试证书专门给开发、真机调试用证书里会绑定开发设备 UDID。发布签名仅用于打包分发调试签名只用于本地开发。习题 2单选题题目以下哪个文件包含应用允许申请的证书权限列表以及允许调试的设备列表A. .cer 证书文件B. .p12 私钥库文件C. .p7b Profile 文件D. .app 应用包文件答案C解读Profile 文件.p7b包含数字证书信息、描述应用允许申请的证书权限列表以及允许应用调试的设备列表如果应用类型为 Release 类型则设备列表为空。.cer 是证书文件.p12 是私钥库文件.app 是打包后的应用包。习题 3多选题题目关于隐私合规以下说法正确的有多选A. 应用首次启动时应通过弹窗或在注册登录界面展示隐私政策B. 征得用户同意的页面可以默认勾选同意选项C. 第三方 SDK 收集的数据也必须在隐私政策中说明D. 敏感权限应在应用启动时立即申请答案A、C解读应用首次启动时应通过弹出隐私政策弹窗或在注册登录界面展示隐私政策以显著方式提示用户阅读选项 A 正确。征得用户同意的页面不得“默认同意”或“登录即同意”需要增设勾选框并设为默认未勾选状态选项 B 错误。只要是应用里收集的数据不管是自己的代码还是第三方 SDK都必须在隐私政策里说明选项 C 正确。敏感权限必须在运行时动态申请申请时机不能过早应用一启动就弹出一堆权限请求是常见的驳回原因选项 D 错误。习题 4代码填空题题目请在以下 module.json5 配置文件中补全网络权限声明。{module:{requestPermissions:[{name:______________}]}}答案ohos.permission.INTERNET解读应用访问网络前需要在 module.json5 中声明 ohos.permission.INTERNET 权限。该权限属于系统授权权限通常不需要弹窗向用户动态申请但仍必须在配置文件中声明。习题 5代码改错题题目某开发者在 app.json5 中配置了 “debug”: true但使用 Attach Debugger 调试时仍然无法识别包名。已知该应用使用的是发布签名。请指出问题并给出修正方案。答案问题在于应用使用了发布签名release而非调试签名。Attach Debugger 调试依赖两个条件应用配置为调试模式“debug”: true以及配置调试签名。发布签名不支持调试。修正方案是在 DevEco Studio 中配置调试签名或使用自动签名功能。解读发布证书仅用于上架应用市场证书无设备绑定信息真机调试时 hvigor 会直接拦截报错。调试证书专门给开发、真机调试用证书里会绑定开发设备 UDID。习题 6简答题题目简述 HarmonyOS 应用发布的完整流程从签名配置到提交审核。答案完整发布流程包括以下步骤第一步完成开发者账号实名认证和 APP 备案。第二步在 AppGallery Connect 中创建应用填写应用名称、包名、类别等信息。第三步在 AGC 中申请发布证书和 Profile 文件。第四步在 DevEco Studio 中配置发布签名导入证书和 Profile 文件。第五步打包正式 HAP 包核对包名和版本号。第六步在 AGC 后台完善应用信息包括图标、截图、隐私政策、权限说明等。第七步上传 HAP 安装包填写版本更新说明。第八步提交审核等待审核结果。第九步审核通过后选择立即上线或定时上线。解读整个发布流程中签名配置和隐私合规是最容易出问题的环节。开发者需要确保发布证书与 Profile 文件正确配置隐私政策与实际代码行为一致权限申请遵循最小化原则。习题 7简答题题目简述 HarmonyOS 应用更新的三种方式及其各自的特点与适用场景。答案HarmonyOS 应用更新包括三种方式。OTA 全量更新下载完整 HAP 包替换安装后重启应用。更新包大下载耗时较长但无版本限制安全性高适用于大版本更新或首次更新。OTA 增量更新下载差分包本地合成新包后校验完整性替换安装后重启。更新包较小下载耗时较短但需要从指定版本升级差分包有版本限制适用于小版本迭代。热修复下载补丁文件动态加载补丁无需重启应用。补丁文件极小下载耗时极短但修复范围有限仅支持逻辑修复需要预先集成框架适用于紧急 Bug 修复。解读三种更新方式各有优劣实际开发中可以根据更新内容的规模和紧急程度选择合适的更新方式。需要注意的是在 HarmonyOS 中更新应用必须跳转到应用市场进行更新无法做到直接下载安装包更新。八、本节知识点总结签名机制调试证书绑定开发设备 UDID仅用于本地调试自动签名方便快速调试。发布证书无设备绑定仅用于上架分发必须手动在 AGC 申请。两套材料严格区分不能混用。AppGallery Connect在 AGC 中创建应用包名必须与打包 HAP 包完全一致。配置应用名称、图标、截图、隐私政策、权限说明、内容分级等信息。隐私政策 URL 需公开可访问权限说明需逐条解释用途。正式打包在 DevEco Studio 中配置发布签名导入证书和 Profile 文件。执行 Build App(s) 打包正式 HAP 包。核对包名和版本号与 AGC 后台一致。版本号必须递增且大于线上版本。隐私合规隐私政策必须与实际代码行为一致覆盖所有权限、第三方 SDK、数据收集行为。用户同意前不得获取个人信息。敏感权限运行时动态申请申请时机不能过早。权限遵循最小化原则禁止滥用。提交审核上传 HAP 包后系统自动进行安全检测、兼容性检测、合规初筛。初筛报错必须全部修复。审核周期一般为 1-7 个工作日。审核通过后可选择立即上线或定时上线。版本更新OTA 全量更新下载完整包增量更新下载差分包热修复下载补丁文件。HarmonyOS 中更新必须跳转到应用市场无法直接下载安装。版本迭代需递增版本号、使用同一套签名重新打包、AGC 上传新包后再次提审。下节预告第14课将进入 ArkUI 应用性能优化实战的学习涵盖启动优化、渲染优化、内存优化、包体积优化等核心主题帮助开发者构建高性能的 HarmonyOS 应用。