HarmonyOS应用元服务上架

HarmonyOS应用/元服务上架

概述

当您开发、调试完HarmonyOS应用/元服务,就可以前往AppGallery Connect申请上架,华为审核通过后,用户即可在华为应用市场获取您的HarmonyOS应用/元服务。

HarmonyOS会通过数字证书与Profile文件等签名信息来保证应用的完整性,需要上架的HarmonyOS应用/元服务都必须通过签名校验,所以上架前,您需要先完成签名操作。

创建项目

  1. 登录AppGallery Connect,点击“我的项目”。

  2. 在项目页面中点击“添加项目”。

  3. 在“创建项目”页面中输入项目名称后 ,点击“创建并继续”。

    img

  4. 项目创建后会进入“开通分析服务”页面。此时可以开通分析服务,以便通过报表查看相关指标数据,也可以创建完项目后开通。

创建HarmonyOS应用/元服务

  1. 在项目列表中点击需要操作的项目。

  2. 点击“添加应用”创建应用/元服务。

    • 项目中没有应用,在“项目设置”页面点击“添加应用”。

    img

    • 项目中有应用,展开顶部应用列表框,点击“添加应用”。

      img

  3. 填写相关信息,点击“确认”。

    • 选择平台:选择“APP(HarmonyOS)”。
    • 应用包名:需要和DevEco Studio创建工程时填写的“bundleName”值保持一致。
    • “是否元服务”:HarmonyOS应用选择“否”,元服务选择“是”。

    img

编译打包HarmonyOS应用/元服务

完整编译流程如下图所示。

img

生成密钥和证书请求文件

  1. 打开DevEco Studio,菜单选择“Build > Generate Key and CSR”。

  2. Key Store File可以点击“Choose Existing”选择已有的密钥库文件(存储有密钥的.p12文件),跳转至步骤4继续配置;如果没有密钥库文件,点击“New”,跳转至步骤3进行创建。

    img

  3. 在“Create Key Store”界面,填写密钥库信息后,点击“OK”。

    • Key Store File:设置密钥库文件存储路径,并填写p12文件名。
    • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
    • Confirm Password:再次输入密钥库密码。
  4. 在“Generate Key and CSR”界面继续填写密钥信息后,点击“Next”。

    • Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
    • Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
    • Validity:证书有效期,建议设置为25年及以上,覆盖元服务的完整生命周期。
    • Certificate:输入证书基本信息,如组织、城市或地区、国家码等。

    img

  5. 在“Generate Key and CSR”界面设置CSR文件存储路径和CSR文件名,点击“Finish”。

    img

    CSR文件创建成功后,将在存储路径下获取生成密钥库文件(.p12)和证书请求文件(.csr)。

    img

申请发布证书

  1. 登录AppGallery Connect,选择“用户与访问”。

  2. 左侧导航栏选择“证书管理”,进入“证书管理”页面,点击“新增证书”。

    img

  3. 在弹出“新增证书”界面填写相关信息后,点击“提交”。

    参数说明
    证书名称不超过100个字符。
    证书类型选择“发布证书”。
    上传证书请求文件(CSR)上传生成密钥和证书请求文件时获取的.csr文件。

    img

  4. 证书申请成功后,“证书管理”页面展示生成的证书内容。

    • 点击“下载”将生成的证书保存至本地。
    • 每个帐号最多申请1个发布证书,如果证书已过期或者无需使用,点击“废除”即可删除证书。

    img

申请发布Profile

  1. 登录AppGallery Connect,选择“我的项目”。

  2. 找到对应项目,点击项目卡片中需要发布的元服务。

  3. 导航选择“HarmonyOS应用 > HAP Provision Profile管理”,进入“管理HAP Provision Profile”页面,点击“添加”。

    img

  4. 在“HarmonyAppProvision信息”界面填写相关信息,点击“提交”。

    img

    参数说明
    名称不超过100个字符。
    类型选择“发布”。
    选择证书选择申请的发布证书。
    申请权限如应用需要申请受限权限,选择“受限权限(HarmonyOS API9以下)”,该选项支持申请如下受限权限:ohos.permission.READ_CONTACTS(允许应用读取联系人数据)ohos.permission.WRITE_CONTACTS(允许应用添加、移除和更改联系人数据)如应用需要申请ACL权限,请选择“受限ACL权限(HarmonyOS API9及以上)”,该选项支持申请应用权限列表中标记了“ACL使能:TRUE,可通过应用市场(AGC)申请”的权限。说明请确保您此处申请的权限与软件包内配置的权限一致。
  5. 申请成功,即可在“管理HAP Provision Profile”页面查看Profile信息。点击“下载”,将文件下载到本地。

    img

配置签名信息

  1. 打开DevEco Studio,菜单选择“File > Project Structure”,进入“Project Structure”界面。

  2. 导航选择“Project”,点击“Signing Configs”页签,填写相关信息后,点击“OK”。

    • Store File:密钥库文件,选择生成密钥和证书请求文件时生成的.p12文件。
    • Store Password:密钥库密码,需要与生成密钥和证书请求文件时设置的密钥库密码保持一致。
    • Key alias:密钥的别名信息,需要与生成密钥和证书请求文件时设置的别名保持一致。
    • Key password:密钥的密码,需要与生成密钥和证书请求文件时设置的密码保持一致。
    • Sign alg:固定设置为“SHA256withECDSA”。
    • Profile file:选择申请发布Profile时下载的.p7b文件。
    • Certpath file:选择申请发布Profile时下载的.cer文件。

    img

编译打包

  1. 打开DevEco Studio,菜单选择“Build > Build Hap(s)/APP(s) > Build APP(s)”。
  2. 等待编译构建签名的HarmonyOS应用/元服务,编译完成后,可在工程目录build > outputs > default目录下获取用于上架的软件包。

上架HarmonyOS应用/元服务

  1. 登录AppGallery Connect,选择“我的应用”。

  2. 在应用列表首页中点击“HarmonyOS”页签。

  3. 点击待发布的应用/元服务,在左侧导航栏选择“应用信息”菜单。

  4. 填写应用的基本信息,如语言,应用名称,应用介绍等,上传应用图标,所有配置完成后点击“保存”。

    详细配置指导请参见官网文档:HarmonyOS应用 元服务

  5. 填写版本信息,如发布国家或地区、上传软件包、提交资质材料等,所有配置完成后点击右上角“提交审核”。

    详细配置指导请参见官网文档:HarmonyOS应用 元服务

常见问题总结

以下罗列了出错频率较高的问题,更多异常处理请参见软件包解析错误说明。

上传软件包,提示“Profile文件非法”,如何处理?

出现此错误,原因可能有以下两种。

  • 原因一:软件包使用的Profile已被删除,如下图,应用下无发布Profile。您需要

    申请发布Profile

    ,然后重新打包上传。

    img

  • 原因二:软件包中使用的发布Profile文件并非当前待发布应用的,常见的错误是下载、使用了其他应用的Profile文件。

    例如:下载了HarmonyA应用的Profile文件,并将此Profile文件打入HarmonyB应用包中。

    img

    那么在发布HarmonyB应用时,上传软件包就会出现此错误。

    img

上传软件包,提示“使用的Profile和证书不匹配”,如何处理?

出现此错误,一般是由于软件包中使用的发布证书与发布Profile文件中使用的发布证书不一致。请排查确认DevEco Studio打包时配置的发布证书,是否为配置的Profile文件中使用的发布证书。

img

上传软件包,提示“非法软件包”,如何处理?

出现此错误,可能是软件包未签名,请检查编译环境,确认是否使用了签名文件。或者是否有进行拆包再手动打包,导致未正确签名。建议使用DevEco Studio中配置签名后重新编译打包。

上传软件包时,提示“软件包中使用证书已被删除”,如何处理?

出现此错误,一般是软件包中使用的证书已经被删除。请访问AppGallery Connect申请Profile的页面,检查打包使用Profile是否还存在。如果已删除,需要重新申请新的发布证书和新的发布Profile,并重新编译打包新的软件包。

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/276606.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未命名文章分布式系统理论基础: 时间、时钟和事件顺序

目录 物理时钟 vs 逻辑时钟 Lamport timestamps Vector clock Version vector 小结 转自:https://www.cnblogs.com/bangerlee/p/5448766.html 该系列博文会告诉你什么是分布式系统,这对后端工程师来说是很重要的一门学问,我们会逐步了解分布式…

代码随想录二刷 | 二叉树 | 110.平衡二叉树

代码随想录二刷 | 二叉树 | 110.平衡二叉树 题目描述解题思路递归迭代 代码实现递归法迭代法 题目描述 110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉…

软实力篇---第二篇

系列文章目录 文章目录 系列文章目录前言一、必知必会的几点二、必须了解的两大法则三、项目经历怎么写前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、必知必…

IP代理如何影响网站的速度?代理ip服务器有哪些作用?

目录 前言 一、如何影响速度 二、代理服务器的作用 1. 隐藏真实IP地址 2. 绕过访问限制 3. 分布式访问 4. 数据缓存和加速 总结 前言 IP代理是一种通过在用户和目标网站之间引入代理服务器来访问目标网站的方式。代理服务器充当中间人,将用户的请求转发给目…

kafka可视化工具搭建之kafdrop

Kafdrop介绍 Kafdrop 是一个用于查看 Kafka 主题和浏览消费者组的 Web UI。 该工具显示代理、主题、分区、消费者等信息,并且可以预览topic消息。 docker方式部署 1.搜索docker镜像 docker search kafdrop 2.拉取镜像 docker pull obsidiandynamics/kafdrop 3.启动kafdrop…

Maven环境搭建及配置

Maven环境搭建及配置 1.下载部署 官方网站下载正式版的Maven文件,打开bin目录,复制路径然后去环境变量中的path下配置环境变量, 如果只有一个用户只需要在上面path配置复制的路径,当然也可以直接在下面配置,下面配置默认给所有用户都配置 设置完成打开控…

Typescript中Omit数据类型的理解

在 TypeScript 中&#xff0c;Omit 是一个内置的工具类型&#xff0c;它用于从对象类型中排除指定的属性&#xff0c;并返回剩余的属性。 Omit 的语法如下所示&#xff1a; type Omit<T, K> Pick<T, Exclude<keyof T, K>>;其中&#xff0c;T 表示原始类型…

从生态的角度看容器和虚拟化的区别

「执笔人」品高股份 cloud native 资深架构师&#xff1a;继承 概述 容器技术和虚拟机技术都是近些年计算平台的主要的计算虚拟化技术&#xff0c;各家云厂商都提供虚拟机和容器服务&#xff0c;关于容器和虚拟化的区别&#xff0c;业界已经有很多共识了&#xff0c;例如&…

WWW 指南-万维网联盟(World Wide Web)

WWW - 万维网联盟 WWW通常称为网络。 web是一个世界各地的计算机网络。 电脑在Web上使用标准语言沟通。 万维网联盟&#xff08;W3C&#xff09;制定了Web标准 什么是WWW&#xff1f; WWW 代表 World Wide Web(万维网)万维网常常被称为 网络网络是世界各地的计算机网络网络中…

Python语言学习笔记之十一(DotEnv)

本课程对于有其它语言基础的开发人员可以参考和学习&#xff0c;同时也是记录下来&#xff0c;为个人学习使用&#xff0c;文档中有此不当之处&#xff0c;请谅解。 1、认识Python DotEnv dotenv是Python中的一个工具包&#xff0c;它主要用于谈取项目中的.env文件&#xff0…

java导出excel通用工具(POI,类注解形式)

通过给类定义注解(设置名称&#xff0c;设置kv转换值)&#xff0c;然后利用设置的名称和传入的数据进行导出。 只需要在项目添加两个工具类就可以实现excel导出功能。 1、单sheet 步骤&#xff1a;1、根据业务需求定义导出的类&#xff0c;并设置表头名称。 …

系列三、DDL

一、DDL 1.1、概述 DDL是英文单词Data Definition Language的缩写&#xff0c;中文意思为数据定义语言&#xff0c;是用来定义数据库对象(数据库&#xff0c;表&#xff0c;字段)的。 1.2、数据库操作 1.2.1、查询所有数据库 show databases; 1.2.2、创建数据库 # 语法 cre…