鸿蒙Flutter实战:13-鸿蒙应用打包上架流程

简介: 鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。

鸿蒙应用打包上架流程

创建应用

新建项目

1.在 AppGalleryConnect,我的项目,添加项目。

image.png

新建APP ID

1.在 AppGalleryConnect,证书、APP ID 和 Profile 中。

image.png

选择所属项目

image.png

新建应用/元服务

在 APP ID 右侧,点击发布, 会弹出发布 HarmonyOS应用/元服务

image.png

按提示填写应用信息,上传应用图标,选择应用分类、标签,点击下一步

上传打包 App(见下方)。

填写应用信息,公司信息等。需要注意的是,App 需要提供软著,元服务则不需要。

打包签名

自动签名

如果是开发和测试,可以使用自动签名。(File -> Project Structure -> Signing Configs 勾选 Automatically generate signature)

如果是打包上架,则需要手动签名

打开Deveco,依次执行以下操作

  1. 在主菜单栏单击 Build > Generate Key and CSR

image.png

2.如果没有创建 Key Store,则点击 New 创建一个

image.png

选择需要存储的目录(文件扩展名使用.p12),输入密码8位以上的复杂密码,点击 OK。

3.设置 Key 的别名

image.png

点击 Next 进入下一步

image.png

设置 CSR 存储位置,注意文件名需要用 .csr 做为扩展名。

点击 Finished, 会创建 .p12密钥库文件以及 证书请求.csr 等文件。

image.png

登录 AppGallery Connect, 执行以下操作

1.点击 证书、App ID 和 Profile,在证书一栏,点击“新增证书”,上传上面创建的 CSR 文件,将生成 cer 文件,

点击下载按钮,将该证书文件保存,待 APP 打包使用。

image.png

2.证书、App ID 和 Profile 中的 Profile一栏,点击添加,创建 Profile 文件,选择刚才创建的证书

image.png

打包 App

在 Deveco中,打开 File -> Project Structure -> Signing Configs, 默认会有一个创建过的 default 签名配置,点击 + 添加按钮,

image.png

以此选择上面创建的 .p12文件、.p7b文件,以及下载的 .cer 文件,输入密码, 点击 Apply 生成配置。

image.png

点击红框处的 Product 🔘 按钮,Build model 选择 release, 同时 build-profile.json5 文件中配置使用哪个签名

"products": [
  {
   
    "name": "default",
    "signingConfig": "release",
  }
]

image.png

点击 Build-> Build Hap(s)/APP(s), 选择 Build APP(s), 开始 APP 打包。

打包成功后,会在项目根目录的 build/outputs/default 生成 .app文件,即为我们要在应用市场上传的文件包

常见问题

软件包解析失败,详细信息点击软件包管理列表中的错误码查看,请按照指导重新打包上传。
993,Profile文件非法

检查签名配置文件,是否使用是 release 配置

build-profile.json5

如下面的配置,这里添加了两个签名配置,一个用于开发调度,一个用于打包上架

"signingConfigs": [
  {
   
    "name": "default",
    "type": "HarmonyOS",
    "material": {
   
      "certpath": "xx",
      "storePassword": "xxx.cert",
      "keyAlias": "debugKey",
      "keyPassword": "xxx",
      "profile": "xxx.p7b",
      "signAlg": "SHA256withECDSA",
      "storeFile": "xxx.p12"
    }
  },
  {
   
    "name": "release",
    "type": "HarmonyOS",
    "material": {
   
      "certpath": "xx",
      "storePassword": "xxx.cert",
      "keyAlias": "release",
      "keyPassword": "xxx",
      "profile": "xxx.p7b",
      "signAlg": "SHA256withECDSA",
      "storeFile": "xxx.p12"
    }
  }
],
"products": [
  {
   
    "name": "default",
    "signingConfig": "release",
    "compatibleSdkVersion": "5.0.0(12)",
    "runtimeOS": "HarmonyOS",
    "buildOption": {
   
      "strictMode": {
   
        "caseSensitiveCheck": true,
        "useNormalizedOHMUrl": true
      }
    }
  }
],

在打包上架时,需要确保上面的 signingConfig 使用的是 name 为 release的签名配置

参考资料

-应用/服务签名

作者:星释 链接:www.nutpi.net/thread?topi…
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
4月前
|
定位技术 API
HarmonyOS实战:高德地图定位功能完整流程详解
本文详细介绍了在鸿蒙系统中使用高德地图实现完整定位功能的流程。首先分析需求,包括权限申请、检查GPS状态、单次或多次定位选择以及定位失败处理。接着通过代码实现具体步骤:添加定位权限、申请用户权限、检查GPS开关状态、启动定位服务,并处理定位成功或失败的情况。若定位失败,可尝试获取历史定位信息或使用默认位置。最后总结指出,虽然定位功能基础简单,但完整的流程与细节处理才是关键。建议读者动手实践,掌握高德地图定位功能的使用。
469 15
|
3月前
|
开发者 容器
二、探索HarmonyOS Next应用的入口:深度解析Index页面
Index.ets是HarmonyOS Next开发者手册应用的入口页面,它展示了应用的主要导航结构和用户界面设计。本文将深入分析这个文件的代码结构、UI组件使用以及路由实现,帮助开发者理解HarmonyOS应用的基本构建模式。
92 0
|
4月前
|
传感器 人工智能 JSON
鸿蒙5开发宝藏案例分享---应用接续提升内容发布体验
本文分享了鸿蒙应用接续功能的实战经验,帮助开发者实现跨设备流转。文章介绍了该功能的核心要点、开发条件及多个实战案例,如图文草稿跨设备接续、协同文档实时接续和社交通讯录接续,并提供了避坑指南与调试秘籍。通过动态压缩策略优化传输速度,结合AI能力提升体验。适合想了解鸿蒙跨设备开发的开发者参考学习。
|
4月前
|
JavaScript Java 开发工具
零基础用 DevEco Studio 打造你的首个 HarmonyOS 应用,开启鸿蒙生态的创新之旅,实现你的技术探索梦想
在鸿蒙生态蓬勃发展的当下,越来越多的开发者怀揣着热情与创意,渴望投身于HarmonyOS应用开发的浪潮之中。
零基础用 DevEco Studio 打造你的首个 HarmonyOS 应用,开启鸿蒙生态的创新之旅,实现你的技术探索梦想
|
4月前
|
安全 JavaScript 前端开发
HarmonyOS NEXT~HarmonyOS 语言仓颉:下一代分布式开发语言的技术解析与应用实践
HarmonyOS语言仓颉是华为专为HarmonyOS生态系统设计的新型编程语言,旨在解决分布式环境下的开发挑战。它以“编码创造”为理念,具备分布式原生、高性能与高效率、安全可靠三大核心特性。仓颉语言通过内置分布式能力简化跨设备开发,提供统一的编程模型和开发体验。文章从语言基础、关键特性、开发实践及未来展望四个方面剖析其技术优势,助力开发者掌握这一新兴工具,构建全场景分布式应用。
445 35
|
4月前
|
IDE 开发工具 数据安全/隐私保护
鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
可以说,所有的签名信息文件,我们都已经完成了,正所谓,万事俱备只欠东风,这篇文章,我们着重概述一下,如何配置签名信息以及如何打出签名包。
161 4
鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
|
4月前
鸿蒙开发:应用上架第二篇,申请发布证书
而对于签名信息,也有一项非常重要的属性,那就是profile文件,主要用于设置发布或调试证书,那么这个证书如何获取呢,本文就着重概述一下。
鸿蒙开发:应用上架第二篇,申请发布证书
|
3月前
|
安全 前端开发 开发工具
鸿蒙开发:应用内如何做更新
使用系统的,直接调用检查和显示更新弹窗即可,可以说就两个方法,我们就实现了应用更新的功能,可以说是非常的简单,如果系统的弹窗无法满足您的需求,您可以自定义弹窗,然后实现跳转应用详情页面即可。
117 0
鸿蒙开发:应用内如何做更新
|
3月前
|
UED 容器
60.[HarmonyOS NEXT 实战案例四] 天气应用网格布局(下)
在上一篇教程中,我们学习了如何使用GridRow和GridCol组件实现基本的天气应用网格布局。本篇教程将在此基础上,深入探讨如何优化布局、添加交互功能,以及实现更多高级特性,打造一个功能完善的天气应用界面。
89 0
|
3月前
|
C++ 容器
59. [HarmonyOS NEXT 实战案例四] 天气应用网格布局(上)
天气应用是移动设备上常见的应用类型,它需要在有限的屏幕空间内展示多种天气信息,如当前温度、天气状况、未来天气预报、空气质量等。HarmonyOS NEXT提供的GridRow和GridCol组件非常适合实现这种复杂的信息展示布局。本教程将详细讲解如何使用这些组件构建一个美观、实用的天气应用界面。
89 0