news 2026/3/31 5:51:31

鸿蒙应用上传

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙应用上传

开发完 App 只是第一步,签名(Signing)上架(Release)才是让你的应用从“作坊产品”变成“正规商品”的关键步骤。对于新手来说,HarmonyOS 的签名证书体系可能会有点绕,我用最通俗的“身份证 + 通行证”**的比喻来带你走一遍流程。


核心概念:这堆文件都是干嘛的?

在开始操作前,先认清这几个文件后缀,不然一会就晕了:

  1. .p12(密钥库文件):相当于你的私章。只有你自己有,用来证明“这代码确实是我写的”。千万别把密码忘了!

  2. .csr(证书请求文件):相当于申请表。你拿着它去找华为申请证书。

  3. .cer(证书):相当于身份证。华为盖章认证的,证明你的身份是合法的开发者。

  4. .p7b(Profile 配置文件):相当于通行证。它把你的身份证 (.cer)、App ID(包名)绑定在一起,允许你的 App 在华为手机上运行。

目录

核心概念:这堆文件都是干嘛的?

第一阶段:准备工作 (AppGallery Connect)

第二阶段:生成签名文件 (最关键的一步)

1. 在 DevEco Studio 生成密钥 (.p12) 和请求文件 (.csr)

2. 去 AGC 申请证书 (.cer)

3. 去 AGC 生成 Profile (.p7b)

第三阶段:配置 DevEco Studio

第四阶段:编译打包 (.app vs .hap)

第五步:上传与填写信息

避坑指南 (常见被拒理由)


第一阶段:准备工作 (AppGallery Connect)

一切的起点是华为的开发者后台:AppGallery Connect (AGC)。

  1. 注册/登录:确保你已经实名认证了开发者账号。

  2. 创建项目与应用

    • 进入“我的应用” -> “新建”。

    • 填写应用名称、包名(Package Name,必须和 DevEco Studio 里bundleName一致,例如com.yourname.gitcodeapp)。

    • 注意:包名一旦定下,终身不能改。


第二阶段:生成签名文件 (最关键的一步)

这里分为调试签名(Debug)发布签名(Release)

  • 调试签名:为了自己在真机上测试。DevEco Studio 提供了自动签名功能(File -> Project Structure -> Project -> Signing Configs -> 勾选Automatically generate signature),连上手机点一下就行,非常方便。

  • 发布签名:为了上传应用市场。必须手动申请!以下是发布签名的流程:

1. 在 DevEco Studio 生成密钥 (.p12) 和请求文件 (.csr)
  1. 菜单栏点击Build->Generate Key and CSR

  2. Key Store File: 选择New,创建一个新的.p12文件(建议存在项目根目录的sign文件夹下)。

  3. Alias: 给密钥起个别名(如release_key),再设一个密码。

  4. 点击 Next,生成.csr文件,保存好。

2. 去 AGC 申请证书 (.cer)
  1. 回到 AGC 控制台。

  2. 点击证书、APP ID和Profile-> 左侧证书

  3. 点击新增证书-> 上传刚才生成的.csr文件。

  4. 提交后,下载生成的.cer发布证书

3. 去 AGC 生成 Profile (.p7b)
  1. 继续在这个页面,先创建APP ID。

  2. 再点击下面的Profile,生成.p7b文件

  3. 类型:选择“发布”(Release)。注意:千万别选成调试(Debug)。

  4. 选择证书:选刚才那个.cer

  5. 提交后,下载生成的.p7b文件


第三阶段:配置 DevEco Studio

现在你手里有4个东西:.p12(密钥), 密码,.cer(证书),.p7b(通行证)。我们把它们装进项目里。

  1. 打开 DevEco Studio,点击File->Project Structure

  2. 点击Project->Signing Configs

  3. 取消勾选Automatically generate signature

  4. 填空题

    • Store File: 选择你的.p12文件。

    • Store Password: 输入密码。

    • Key Alias: 输入别名。

    • Key Password: 输入别名密码。

    • Sign Alg: 默认SHA256withECDSA即可。

    • Profile File: 选择下载的.p7b文件。

    • Certpath File: 选择下载的.cer文件。

  5. 点击OK

小技巧:配置完成后,去看看项目里的build-profile.json5文件,你会发现这些配置都自动写进去了。


第四阶段:编译打包 (.appvs.hap)

千万不要直接把手机里提取的 hap 传上去!商店只认.app

  1. 检查配置:打开build-profile.json5文件,确认signingConfigs下面配置正确,且buildOption里的release模式引用了正确的签名配置。

  2. 执行编译

    • 菜单栏:Build->Build Hap(s)/APP(s)->Build APP(s)

    • (注意:如果是第一次,它可能会让你选 Build Mode,一定要选release)。

  3. 等待完成

    • 编译成功后,右下角会有提示。

    • 点击提示里的链接,或者去文件夹找:项目根目录/build/outputs/default/app/release/

    • 你会看到一个AppName-default-release.app文件。这就是最终成品!


第五步:上传与填写信息

(最后一步,在 AGC 网页)

  1. 创建版本

    1. AGC ->我的应用-> 点击应用名 ->分发->应用上架

    2. 点击右上角新建版本

  2. 上传软件包

    • 在“软件版本”处,点击管理软件包->上传

    • 把刚才那个.app文件拖进去。如果签名配置错误或包名不一致,这里会直接报错。

  3. 填写元数据(最耗时)

    • 应用图标:512x512 png,不能有圆角(系统会自动裁圆角),要是正方形满铺。

    • 应用截图:至少3张。大坑预警:截图里不能出现 Android 机器人、iOS 风格的状态栏,最好用华为手机截图,或者把状态栏P掉。

    • 应用介绍:稍微润色一下,“这是一款基于 GitCode API 开发的高效管理工具...”。

    • 隐私声明 URL:这是必须要有的。

      • 如果没有网站:用飞书/Notion/腾讯文档写一份,开启“互联网公开访问”,把链接填进去。

      • 内容要求:必须明确写出“本应用会收集用户的 IP 地址/设备信息用于...”。

  4. 分发国家/版权

    • 选“中国大陆”。

    • 电子版权证书:如果你没有软著(软件著作权),现在华为允许个人开发者上传“免责函”或“承诺书”(具体看上传页面的最新提示),或者上传身份证正反面(部分类目)。

  5. 提交审核

    • 点击提交。通常审核时间为 1-3 个工作日。


避坑指南 (常见被拒理由)

  1. 版本号管理:下次更新 App 时,记得在AppScope/app.json5里把versionCode加 1(比如从 10001 变成 10002),否则上传会失败,提示“版本号未增加”。

  2. 隐私弹窗逻辑

    • 审核员打开 App 的第一眼,必须看到《隐私政策》弹窗。

    • 只有用户点击“同意”后,你的代码才能执行uni.request或其他 API 调用。

    • 如果一启动就请求 GitCode 接口,会被判定为“违规收集个人信息”,直接拒审。

  3. 权限申请:不要申请不必要的权限(比如一个计算器申请读取通讯录)。申请权限时要有明确的文案说明用途。

  4. 空内容:如果你的 GitCode 页面还没数据,导致 App 进去一片白,会被判为“功能不完善”。记得做个“缺省页”或者放点假数据。

  5. 图标/名称不符:安装到手机上的 App 名称和图标,必须和你在 AGC 上填写的一模一样。

欢迎大家加入开源鸿蒙跨平台开发者社区,一起共建开源鸿蒙跨平台生态。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 18:43:00

混动汽车模型:P2插电式混合动力系统simulink模型——基于逻辑门限值控制策略,功能全面且...

混动汽车模型 P2插电式混合动力系统simulink模型基于逻辑门限值控制策略 模型可完美运行 ①(工况可自行添加)已有WLTC、UDDS、EUDC、NEDC工况; ②仿真图像包括 发动机转矩变化图像、电机转矩变化图像、工作模式变化图像、档位变化图像、电池S…

作者头像 李华
网站建设 2026/3/27 0:45:09

DeepLabCut终极指南:从零掌握AI姿势识别核心技术

DeepLabCut终极指南:从零掌握AI姿势识别核心技术 【免费下载链接】DeepLabCut Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans 项目地址: https://gitcode.com/g…

作者头像 李华
网站建设 2026/3/28 1:11:06

Wabbajack终极指南:如何实现游戏Mod一键自动化安装

Wabbajack终极指南:如何实现游戏Mod一键自动化安装 【免费下载链接】wabbajack An automated Modlist installer for various games. 项目地址: https://gitcode.com/gh_mirrors/wa/wabbajack Wabbajack是一个革命性的自动化Modlist安装工具,专门…

作者头像 李华
网站建设 2026/3/27 5:48:00

专业录音棚的Realtek数字输出优化方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个音频配置优化工具,针对Realtek数字输出设备提供专业级设置:1.ASIO驱动自动安装配置 2.实时延迟测试功能 3.采样率/位深度优化建议 4.多声道输出测试…

作者头像 李华
网站建设 2026/3/15 18:42:58

AI如何帮你解决‘Cannot find declaration to go to‘错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个AI辅助的代码导航工具,能够自动分析Cannot find declaration to go to错误的原因。工具应能:1)扫描项目文件结构 2)分析import语句和依赖关系 3)提供…

作者头像 李华
网站建设 2026/3/29 17:16:01

MinerU终极指南:一站式PDF智能解析完整教程

还在为PDF文档的结构化解析而头疼吗?面对复杂的学术论文、技术文档或商业报告,传统OCR工具往往无法准确识别版面结构、表格内容和数学公式,导致信息提取不完整、格式混乱等问题。MinerU作为一款开源的高质量PDF解析工具,专门解决这…

作者头像 李华