ScreenPro 上架 AppGallery Connect 全流程记录

这篇文章记录一次 HarmonyOS PC 应用 ScreenPro 从本地打包、生成发布证书,到在 AppGallery Connect 创建应用、上传软件包并提交审核的完整过程。截图来自实际操作流程,适合第一次做 HarmonyOS 应用上架时作为对照清单。

鸿蒙PC开发者社区 :https://harmonypc.csdn.net/

项目开源地址:https://atomgit.com/lqjmac/ScreenPro

欢迎在PC社区平台申请新建项目:https://atomgit.com/OpenHarmonyPCDeveloper

ScreenPro 是一款面向 PC 端的录屏工具,主要功能包括全屏录制、区域录制、系统声音/麦克风采集、编码参数设置以及录制素材管理。上架前,我们先准备好应用包名、应用图标、隐私政策、应用介绍、截图素材,以及发布签名所需的证书和 Profile 文件。

在这里插入图片描述

一、准备发布签名材料

HarmonyOS 应用上架前,不能直接上传调试包,需要使用发布证书和发布 Profile 对应用进行签名。这个阶段主要会得到四类文件:

文件 作用
.p12 本地密钥库文件,由 DevEco Studio 生成并保存
.csr 证书申请请求文件,用于在 AppGallery Connect 申请发布证书
.cer 发布证书,从 AppGallery Connect 下载
.p7b 发布 Profile,从 AppGallery Connect 生成并下载

在 DevEco Studio 中打开项目后,进入菜单 Build -> Generate Key and CSR

在这里插入图片描述

在弹出的 Generate Key and CSR 窗口中,先生成 Key。这里需要选择或新建 Key store file (*.p12),并设置 Key store password、Key alias、Key password 等信息。密码要妥善保存,后面配置签名和自动化打包时都会用到。

在这里插入图片描述

如果是第一次生成发布密钥,可以点击 New 新建 Key Store。截图中创建了一个 ScreenPro.p12 文件,并设置了对应密码。

在这里插入图片描述

Key 生成后继续生成 CSR 文件。CSR 文件会用于在 AppGallery Connect 中申请发布证书,这里保存为 ScreenPro.csr

在这里插入图片描述

完成后,本地目录中应该能看到 ScreenPro.p12ScreenPro.csr。建议单独建一个 materialrelease 目录存放这些发布材料,便于后续查找。

在这里插入图片描述

注意:.p12.cer.p7b 可以用于发布签名,相关密码和密钥文件不要提交到公开仓库。截图中的具体密码、绝对路径和本机用户名,正式发布博客前建议打码处理。

二、创建 AppGallery Connect 项目

登录 AppGallery Connect,进入 开发与服务,创建一个新的项目。这里项目名称填写为 ScreenPro

在这里插入图片描述

项目创建完成后,切换到 证书、APP ID和Profile,进入 APP ID,点击新建 APP ID。这里要特别注意应用包名必须与 DevEco Studio 工程中的 Bundle name 保持一致,否则后续 Profile、签名和上传包都会对不上。

本次示例填写:

配置项 示例值
应用类型 HarmonyOS 应用
应用名称 ScreenPro
应用包名 com.screenpro.screenpro
应用分类 应用

在这里插入图片描述

创建成功后,可以在 APP ID 列表里看到 ScreenPro 对应记录。确认应用名称和包名无误后,点击右侧的 发布 进入后续发布配置。

在这里插入图片描述

三、申请发布证书

回到左侧 证书 页面,点击 新增证书。证书类型选择 发布证书,然后上传前面在 DevEco Studio 中生成的 ScreenPro.csr

在这里插入图片描述

提交后,AppGallery Connect 会生成发布证书。下载得到的证书文件通常是 .cer,在本次流程里保存为 screenpro.cer

四、创建发布 Profile

发布证书准备好以后,进入左侧 Profile 页面,点击添加 Profile。

在添加 Profile 页面中选择:

配置项 填写方式
应用名称 ScreenPro
包名 com.screenpro.screenpro
Profile 名称 screenpro 或便于识别的发布名称
类型 发布
选择证书 上一步生成的发布证书

确认信息无误后点击 添加

在这里插入图片描述

添加成功后,下载生成的 Profile 文件。本次示例中最终得到的发布材料包括:

文件 来源
ScreenPro.csr DevEco Studio 生成
ScreenPro.p12 DevEco Studio 生成
screenpro.cer AppGallery Connect 发布证书
screenproRelease.p7b AppGallery Connect 发布 Profile

在这里插入图片描述

五、在 DevEco Studio 配置发布签名

回到 DevEco Studio,进入项目结构配置页面,打开 Signing Configs。这里把刚刚准备好的发布材料全部填进去。

需要配置的关键项包括:

配置项 说明
Team 当前华为开发者账号或团队
Bundle name 必须与 APP ID 包名一致
Store file (*.p12) 本地 .p12 文件路径
Store password 创建 .p12 时设置的密码
Key alias 创建 Key 时填写的别名
Key password Key 对应密码
Sign alg 通常使用 SHA256withECDSA
Profile file (*.p7b) 发布 Profile 文件
Certpath file (*.cer) 发布证书文件

在这里插入图片描述

保存后,DevEco Studio 会把签名配置写入 build-profile.json5。截图中可以看到 signingConfigs 下已经包含 storeFileprofilecertpath 等配置。

在这里插入图片描述

这里要格外注意两点:

  1. build-profile.json5 里可能会出现经过处理后的密码字段,公开项目需要避免把真实发布签名配置直接提交到公共仓库。
  2. 如果换了机器构建,绝对路径通常需要重新配置,建议团队项目通过环境变量或私有配置方式管理发布签名材料。

六、构建发布包

签名配置完成后,执行发布构建。构建成功后,DevEco Studio 会在 build/outputs/default 目录下生成已签名的应用包。

本次示例中需要上传的是:

ohos-default-signed.app

不要上传 ohos-default-unsigned.app,否则后台会提示包体签名不符合发布要求。

在这里插入图片描述

七、填写应用上架信息

包体准备好以后,回到 AppGallery Connect 的 APP与元服务 -> 分发 -> 应用上架 页面,先填写 应用信息

应用信息通常包含:

信息项 示例
语言 简体中文 - 默认
应用名称 ScreenPro
应用图标 正方形图标,符合平台尺寸和格式要求
应用分类 应用 / 工具
应用标签 工具

在这里插入图片描述

应用图标需要与软件包中的应用图标保持一致,截图和视频素材也需要能真实体现应用功能。对于 ScreenPro 这类工具应用,可以重点展示录制源选择、音频采集、编码参数和录制结果管理等页面。

八、上传软件包

进入 软件包管理,点击上传,把 DevEco Studio 构建出来的 ohos-default-signed.app 上传到后台。

上传成功后,后台会提示软件包上传成功,并建议启动上架自检。自检可以提前发现兼容性、稳定性、性能、功耗、UX、隐私等问题,建议在正式提交前跑一遍。

在这里插入图片描述

九、补充版本信息并准备提交

软件包上传后,进入 版本信息 -> 准备提交。这里需要补齐发布国家或地区、本地化基础信息、应用介绍、一句话简介、应用截图和视频、隐私政策等内容。

发布国家或地区可以选择所有国家或地区,也可以选择特定国家或地区。是否勾选数据出境相关授权,需要结合应用实际业务和合规要求判断。

在这里插入图片描述

ScreenPro 的应用介绍可以围绕功能、权限和隐私透明来写,例如:

ScreenPro 是一款面向 PC 端的专业录屏工具,支持屏幕录制、系统声音采集、麦克风采集和录制文件管理。应用基于 HarmonyOS 原生能力进行屏幕采集,录制操作由用户主动发起,并在需要时请求相关权限。录制文件默认保存在应用可控目录中,便于用户管理和查找。

一句话简介可以写:

一款面向 PC 端的专业录屏工具

提交前建议检查:

检查项 说明
包名 与 APP ID、Profile、DevEco Studio Bundle name 一致
版本号 与当前提交版本一致
软件包 上传的是 signed app
图标 与包内图标一致,尺寸和格式符合要求
截图 能真实展示应用核心能力
应用介绍 不夸大、不误导,避免包含测试字样
隐私政策 与应用实际权限和数据处理方式一致
权限说明 录屏、麦克风等敏感权限要解释清楚

十、提交审核并等待预审

所有必填项完成后,点击右上角 提交审核。提交后,版本状态会进入 预审中

AppGallery Connect 会先进行自动化预审,用于提前发现常见上架问题。截图中的提示显示,预审通常需要 30 到 40 分钟左右。预审通过后,会自动进入应用市场审核队列;如果预审失败,可以根据检测报告修改后重新提交。

在这里插入图片描述

第一次上架时,最容易出错的是包名、证书、Profile 和签名配置不一致。只要围绕 com.screenpro.screenpro 这条包名主线,把 APP ID、Profile、DevEco Studio 配置和最终上传包统一起来,整个流程就会顺很多。

十一、常见问题(FAQ)

下面整理了第一次走 HarmonyOS 应用上架流程时,最容易卡住或产生疑问的几个点。

Q1:.p12.csr.cer.p7b 这四个文件到底有什么区别?

简单记一条主线:.p12 是本地密钥库(私钥,DevEco Studio 生成并由你保管),.csr 是证书申请文件(拿它去 AGC 换证书),.cer 是 AGC 签发的发布证书,.p7b 是 AGC 生成的发布 Profile。签名时 DevEco Studio 需要同时用到 .p12(含私钥)、.cer(证书)和 .p7b(Profile)。.csr 只在申请证书阶段用一次,之后不再参与签名。

Q2:为什么一定要用发布签名,不能直接上传调试包?

调试包用的是调试证书和调试 Profile,AGC 后台会校验包体签名是否符合发布要求。直接传调试包或 ohos-default-unsigned.app 会被提示签名不符合发布要求。必须用发布证书 + 发布 Profile 重新签名后再上传。

Q3:上传时提示包名 / 签名对不上,怎么排查?

这是最高频的问题,几乎都源于包名主线没对齐。逐项核对这四处的包名是否完全一致:DevEco Studio 工程的 Bundle name、AGC 的 APP ID、发布 Profile 绑定的包名、以及实际上传的软件包。本文示例统一为 com.screenpro.screenpro。任何一处不同都会导致 Profile、签名或上传校验失败。

Q4:.p12 的密码或 Key 密码忘了怎么办?

无法找回。密钥库密码、Key alias、Key password 在生成时只设置一次,丢失后只能重新生成新的 .p12.csr,再走一遍申请证书和 Profile 的流程。所以生成后一定要把这几项妥善记录在安全的地方(不要写进公开仓库)。

Q5:换了一台机器构建,签名配置失效了?

build-profile.json5 里的 storeFileprofilecertpath 通常存的是绝对路径,换机器后路径会失效,需要在新机器上重新指向对应文件。团队协作时建议用环境变量或私有配置管理发布材料,并且不要把真实签名配置直接提交到公共仓库。

Q6:Sign alg 选哪个?

HarmonyOS 发布签名通常使用 SHA256withECDSA,与生成 Key 时使用的 ECC 密钥匹配。按本文截图中的默认选择即可,不要随意改成 RSA 相关算法导致和密钥类型不符。

Q7:发布国家/地区和数据出境授权一定要勾选吗?

发布范围可以选所有国家/地区,也可以只选特定区域,按业务需要决定。数据出境相关授权要结合应用实际是否有跨境数据传输、以及合规要求来判断,不要无脑勾选,也不要在确实有出境行为时漏勾。

Q8:录屏、麦克风这类敏感权限会不会影响审核?

不会因为申请了就被拒,但权限说明和隐私政策必须解释清楚:为什么需要这些权限、在什么场景触发、数据如何处理。对 ScreenPro 这类录屏工具,要说明录制由用户主动发起、录制文件保存在应用可控目录,并保证隐私政策与实际权限一致。

Q9:上架自检(自检/预审)必须做吗?耗时多久?

上传软件包后建议先跑一遍上架自检,可以提前发现兼容性、稳定性、性能、功耗、UX、隐私等问题。正式提交审核后会进入预审,本文示例提示预审大约需要 30 到 40 分钟。预审通过会自动进入应用市场审核队列;预审失败可按检测报告修改后重新提交。

Q10:应用图标和截图有什么硬性要求?

应用图标要与软件包内的图标保持一致,且符合平台的尺寸和格式要求;截图和视频要能真实体现应用功能,不能用与实际不符或夸大的素材。应用介绍也要避免包含"测试""beta"等字样和误导性描述。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐