鸿蒙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…
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
2天前
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
16 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
6天前
|
开发工具 UED 容器
Flutter&鸿蒙next 实现长按录音按钮及动画特效
本文介绍了如何在 Flutter 中实现一个带有动画效果的长按录音按钮。通过使用 `GestureDetector` 监听长按手势,结合 `AnimatedContainer` 和 `AnimationController` 实现按钮的动画效果,以及 `flutter_sound` 插件完成录音功能。文章详细讲解了功能需求、实现思路和代码实现,帮助读者逐步掌握这一实用功能的开发方法。
80 5
|
6天前
|
存储 Dart
Flutter&鸿蒙next 实现一个计算器应用
本文介绍了如何使用 Flutter 创建一个简单的计算器应用,包括基本的加减乘除运算。文章详细讲解了界面布局、计算逻辑和状态管理的实现步骤,通过具体的代码示例展示了如何构建计算器界面、处理用户输入和显示计算结果。
58 0
|
6天前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
92 0
|
1月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
|
5月前
|
开发框架 前端开发 测试技术
Flutter开发常见问题解答
Flutter开发常见问题解答
|
21天前
|
开发者
鸿蒙Flutter实战:07-混合开发
鸿蒙Flutter混合开发支持两种模式:1) 基于har包,便于主项目开发者无需关心Flutter细节,但不支持热重载;2) 基于源码依赖,利于代码维护与热重载,需配置Flutter环境。项目结构包括AppScope、flutter_module等目录,适用于不同开发需求。
57 3
|
8天前
|
Dart 安全 UED
Flutter&鸿蒙next中的表单封装:提升开发效率与用户体验
在移动应用开发中,表单是用户与应用交互的重要界面。本文介绍了如何在Flutter中封装表单,以提升开发效率和用户体验。通过代码复用、集中管理和一致性的优势,封装表单组件可以简化开发流程。文章详细讲解了Flutter表单的基础、封装方法和表单验证技巧,帮助开发者构建健壮且用户友好的应用。
55 0
|
1月前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
71 7
|
21天前
|
编解码 Dart API
鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件
本文介绍了如何开发一个 Flutter 鸿蒙插件,实现 Flutter 与鸿蒙的混合开发及双端消息通信。通过定义 `MethodChannel` 实现 Flutter 侧的 token 存取方法,并在鸿蒙侧编写 `EntryAbility` 和 `ForestPlugin`,使用鸿蒙的首选项 API 完成数据的读写操作。文章还提供了注意事项和参考资料,帮助开发者更好地理解和实现这一过程。
49 0

相关实验场景

更多