HarmonyOS应用/服务发布:打造多设备生态的关键一步

news2024/11/27 11:12:23

目前

  • 前言
  • HarmonyOS 应用/服务发布的重要性
  • 使用HarmonyOS 构建跨设备的应用生态
  • 前期准备工作
  • 简述发布流程
  • 生成签名文件
  • 配置签名信息
  • 编译构建.app文件
  • 上架.app文件到AGC
  • 结束语

前言

随着智能设备的快速普及和多样化,以及编程语言的迅猛发展,构建一个无缝连接的多设备生态系统已经成为当前技术发展的大趋势,而HarmonyOS 作为华为自主研发的分布式操作系统,为开发者提供了一个创新的平台,使大家能够将应用和服务无缝地跨设备发布和交互。那么本文就来详细分享一下HarmonyOS 应用/服务发布的重要性以及如何利用 HarmonyOS 构建跨设备的应用生态。

HarmonyOS 应用/服务发布的重要性

在过去的几年中,智能设备的发展呈现出多样化和高度互联的趋势,如智能手机、智能手表、智能电视等,这些设备之间的互联互通成为用户的期望和需求,而HarmonyOS 作为一个分布式操作系统有很多独特的优势和重要功能,具体可以汇总以下几点:

  • 统一开发框架:HarmonyOS 提供了统一的开发框架,使开发者可以使用一套代码开发适配多设备的应用,这意味着我们开发者可以更高效地开发和发布应用,可以为用户提供一致的体验。
  • 多设备互联:HarmonyOS 的分布式能力使得不同设备之间可以无缝连接和通信,实现数据共享和协同工作,可以通过将应用和服务发布到 HarmonyOS 生态系统中,开发者可以为用户提供跨设备的一体化体验。
  • 强大的能力和性能:还有就是HarmonyOS 提供了强大的能力和性能,使开发者能够实现更丰富、更高效的应用,无论是在智能手机、智能手表还是智能电视上,HarmonyOS 都能够提供流畅的用户界面和卓越的性能。

使用HarmonyOS 构建跨设备的应用生态

为了充分利用 HarmonyOS 的优势,通过使用HarmonyOS 构建跨设备的应用生态,我们开发者可以采取以下步骤来构建跨设备的应用生态:

  • 了解 HarmonyOS:作为鸿蒙开发者,首先需要深入了解 HarmonyOS 的基本概念和架构,而且应该熟悉 HarmonyOS 的分布式能力、开发框架和工具,以便更好地利用这些功能。
  • 适配应用:开发者还需要对现有的应用进行适配,使其能够在 HarmonyOS 上运行并与其他设备进行互联,而且需要熟练使用 HarmonyOS 提供的开发工具,对应用进行修改和优化,以适应不同设备的特性和屏幕尺寸。
  • 发布到 HarmonyOS 生态:我们可以将适配后的应用发布到 HarmonyOS 的应用商店,让用户能够轻松地下载和安装,还可以将应用注册为 HarmonyOS 的系统服务,使其能够与其他应用和设备无缝交互。
  • 提供一体化体验:结合HarmonyOS 的一体化优势,开发者应该注重提供一体化的用户体验,利用 HarmonyOS 的分布式能力,使用户能够在不同设备上无缝切换并保持应用的状态和数据同步。
  • 持续改进和创新:随着 HarmonyOS 的不断发展,作为鸿蒙开发者应该密切关注最新的功能和更新,并及时进行应用的改进和创新,也可以利用 HarmonyOS 提供的开发者社区和资源,与其他开发者交流经验和分享最佳实践。

前期准备工作

做过鸿蒙开发的开发者想必都清楚,HarmonyOS是通过数字证书与Profile文件等签名信息来保证应用/服务的完整性,应用/服务上架到AppGallery Connect必须通过签名校验,所以需要使用发布证书和Profile文件对应用/服务进行签名后才能发布,所以这是进行HarmonyOS 应用/服务发布前的必备准备工作。

另外,在应用/服务发布到AppGallery Connect之后,会将应用分发至应用市场,将服务分发至服务中心,用户便可以通过终端设备上的应用市场App获取HarmonyOS应用,通过服务中心获取元服务。

简述发布流程

我们作为鸿蒙开发者,在完成HarmonyOS应用/服务开发后,需要将应用/服务打包成App Pack(.app文件),用于发布到华为应用市场,具体发布应用/服务的流程如下图所示:

生成签名文件

移动开发者想必对生成签名并不陌生,但是不熟悉生成签名的小伙伴也不必担心,接下来就来具体分享一下生成签名文件的方法步骤。其实HarmonyOS应用/服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/服务的完整性,我们在申请数字证书和Profile文件前,需要先通过DevEco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。

基本概念

  • 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12,公钥和私钥对用于数字签名和验证。
  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
  • 数字证书:格式为.cer,由华为AppGallery Connect颁发。
  • Profile文件:格式为.p7b,包含HarmonyOS应用/服务的包名、数字证书信息、描述应用/服务允许申请的证书权限列表,以及允许应用/服务调试的设备列表(如果应用/服务类型为Release类型,则设备列表为空)等内容,每个应用/服务包中均必须包含一个Profile文件。

使用DevEco Studio生成密钥和证书请求文件

1、在主菜单栏单击Build > Generate Key and CSR。(需要注意:如果本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中单击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。)

2、在Key Store File中,可以单击Choose Existing选择已有的密钥库文件(存储有密钥的.p12文件);如果没有密钥库文件,单击New进行创建,下面以新创建密钥库文件为例来讲:

3、在Create Key Store窗口中,填写密钥库信息后,单击OK。

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

4、在Generate Key and CSR界面中,继续填写密钥信息后,单击Next。

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

5、在Generate Key and CSR界面,设置CSR文件存储路径和CSR文件名。

6、单击OK按钮,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)和证书请求文件(.csr)。

申请发布证书和Profile文件

j接着就是申请发布证书和Profile文件的操作,通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件,具体如下所示:

  • 创建HarmonyOS应用/服务:在AppGallery Connect项目中,创建一个HarmonyOS应用/服务,用于发布证书和Profile文件申请,这里不再多讲,可以参考鸿蒙官方对应的文档:文档中心(需要注意:在应用/服务分发阶段,HarmonyOS应用将被分发至应用市场,原子化服务将会被分发至服务中心,所以如果申请原子化服务的签名证书,在“创建应用”操作时,“是否原子化服务”选项请选择“是”。)
  • 申请发布证书和Profile文件:在AppGallery Connect中申请、下载发布证书和Profile文件,这里也不再过多讲解,可以参考鸿蒙官方对应的文档:文档中心

用于发布的证书和Profile文件申请完成后,请在DevEco Studio中进行签名,接下来会详细讲解配置签名信息。

配置签名信息

通过上面关于使用制作的私钥(.p12)文件、在AppGallery Connect中申请的证书(.cer)文件和Profile(.p7b)文件,在DevEco Studio配置工程的签名信息,构建携带发布签名信息的APP。在File > Project Structure > Project > Signing Configs > default界面中,取消“Automatically generate signature”勾选项,然后配置工程的签名信息。(需要注意:如果是API Version 4至7的工程,请在Signing Configs界面,选择Release,然后配置签名信息。)

  • Store File:选择密钥库文件,文件后缀为.p12。
  • Store Password:输入密钥库密码。
  • Key Alias:输入密钥的别名信息。
  • Key Password:输入密钥的密码。
  • Sign Alg:签名算法,固定为SHA256withECDSA。
  • Profile File:选择申请的发布Profile文件,文件后缀为.p7b。
  • Certpath File:选择申请的发布数字证书文件,文件后缀为.cer。

通过上面的步骤设置完签名信息后,单击OK进行保存,然后使用DevEco Studio生成APP,接下来就是编译构建.app文件的详细操作步骤。

编译构建.app文件

在编译构建打包APP时,DevEco Studio会将工程目录下的所有HAP模块打包到APP中,所以如果工程目录中存在不需要打包到APP的HAP模块,需要手动删除后再进行编译构建生成APP,具体操作步骤如下所示:

  1. 单击Build > Build Hap(s)/APP(s) > Build APP(s),等待编译构建完成已签名的APP。
  2. 编译构建完成后,可以在工程目录build > outputs > app > release下,获取带签名的APP。

上架.app文件到AGC

最后就是将HarmonyOS应用/服务打包成.app文件后上架到AppGallery Connect,AppGallery Connect会将HarmonyOS应用至应用市场,将元服务分发至服务中心,上架详细操作指导本篇内容不再介绍,后面会单独做上架鸿蒙应用的文章,具体的请参考鸿蒙官方的文档:文档中心

结束语

通过本文关于HarmonyOS 应用/服务发布的介绍,想要入门鸿蒙开发的小伙伴应该都学会了吧?我觉得HarmonyOS 应用/服务发布是构建多设备生态系统的关键一步,它为开发者提供了一个创新的平台,使我们能够开发和发布适配多设备的应用和服务,推动了智能设备之间的互联互通。另外,通过利用 HarmonyOS 的统一开发框架、多设备互联能力和强大的性能,我们鸿蒙开发者可以为用户提供一致、流畅且高效的体验。同时,作为用户,我们将享受到更便捷、智能的生活体验,我们可以通过 HarmonyOS 实现智能手机、智能手表、智能电视等设备之间的无缝切换和协同工作,同时享受到一致的应用界面和数据同步,这将极大地提升我们的生产力和娱乐体验。在未来,随着智能设备的不断发展和用户对连接性的需求不断增加,构建一个无缝连接的多设备生态系统将变得更加重要,而HarmonyOS 作为一个开放的操作系统,将继续吸引更多的开发者加入,并推动多设备生态发展的进程。随着 HarmonyOS 生态的不断壮大,我们可以期待更多创新和便利的应用和服务的涌现,让我们的生活更加智能、简单和愉悦。最后,希望本文对读者关于HarmonyOS 应用/服务发布有所帮助和指导,并能够让您在未来的多设备生态系统中获得更好的体验。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

打印文件pdf怎么转换成word文档?pdf转换工具推荐

有时候我们可能需要重用PDF文件中的文本内容,比如引用某些段落、复制粘贴特定文字或提取数据,通过将pdf文件转换成word,可以轻松地提取和重用其中的文本,节省时间和努力,那么pdf怎么转word呢?可以试试本文推…

读论文:DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior

DiffBIR 发表于2023年的ICCV,是一种基于生成扩散先验的盲图像恢复模型。它通过两个阶段的处理来去除图像的退化,并细化图像的细节。DiffBIR 的优势在于提供高质量的图像恢复结果,并且具有灵活的参数设置,可以在保真度和质量之间进…

SpringBoot实战第二天

今日战报 继续完善用户相关接口开发: 1.完成获取用户信息功能 2.完成更新用户信息功能 3.完成更新用户头像功能 4.完成更新用户密码功能 获取用户信息 接口文档 如接口文档所示,我们需要做的就是从header中的Authorization中读取token,解码…

CSS 闪电按钮效果

<template><view class="const"><div class="voltage-button"><button>闪电按钮</button><svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox=&q…

PyTorch 2.2 中文官方教程(十七)

&#xff08;Beta&#xff09;使用缩放点积注意力&#xff08;SDPA&#xff09;实现高性能 Transformer 原文&#xff1a;pytorch.org/tutorials/intermediate/scaled_dot_product_attention_tutorial.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 注意 点击这…

Flutter开发iOS问题记录

一、版本适配问题 warning: The iOS deployment target ‘IPHONEOS_DEPLOYMENT_TARGET’ is set to 10.0, but the range of supported deployment target versions is 12.0 to 17.2.99. (in target ‘Protobuf’ from project ‘Pods’) 可以通过在podfile中配置解决。 pos…

小埋的解密游戏的题解

题目描述 小埋最近在玩一个解密游戏&#xff0c;这个游戏的解密方法是这样的&#xff0c;这个游戏会给你提供 个数,让我们求出这 个数里面&#xff0c;有多少个连续的数的平均数大于某个给定的数 。这个数可能会很大&#xff0c;所以我们要输出这个数对 的取模结果。现在小…

Java并发之synchronized详解

☆* o(≧▽≦)o *☆嗨~我是小奥&#x1f379; &#x1f4c4;&#x1f4c4;&#x1f4c4;个人博客&#xff1a;小奥的博客 &#x1f4c4;&#x1f4c4;&#x1f4c4;CSDN&#xff1a;个人CSDN &#x1f4d9;&#x1f4d9;&#x1f4d9;Github&#xff1a;传送门 &#x1f4c5;&a…

使用Java实现基于HTTP的分布式系统:让你的应用“四处开花”

在数字世界里&#xff0c;分布式系统就像是一个大家庭&#xff0c;每个成员&#xff08;即节点&#xff09;都有自己的任务和职责&#xff0c;共同维护整个家庭的运转。如果你想使用Java来实现这样一个大家庭&#xff0c;让应用在各个节点上“四处开花”&#xff0c;那就需要借…

ensp实验合集(二)

实验6 VLAN划分....................................................................... - 30 - 实验7 路由器调试及常用命令使用........................................ - 42 - 实验8 配置静态路由器............................................................…

DevOps落地笔记-13|自动化测试:提高测试效率的不二之选

上一课时主要介绍了通过 API 管理平台来管理企业内部的 API。持续集成是能够保证软件处于可工作状态的实践&#xff0c;但实施持续集成有一个必不可少的步骤——测试。只有尽可能全面的测试覆盖&#xff0c;才能降低软件出错的概率。但是&#xff0c;大多数企业里还是基于人工来…

ChatGPT之搭建API代理服务

简介 一行Docker命令部署的 OpenAI/GPT API代理&#xff0c;支持SSE流式返回、腾讯云函数 。 项目地址&#xff1a;https://github.com/easychen/openai-api-proxy 这个项目可以自行搭建 OpenAI API 代理服务器工具&#xff0c;该项目是代理的服务器端&#xff0c;不是客户端。…

SpringMVC-组件解析

一、引子 我们在上一篇文章Spring MVC-基本概念中&#xff0c;为读者解释了如何使用SpringMVC框架&#xff0c;将承接客户端请求的工作从原生的Servlet转移到我们熟知的Controller中。那么我们不禁会好奇&#xff0c;SpringMVC框架到底做了什么&#xff0c;是怎么把请求分发给…

python爬虫代码示例:爬取京东详情页图片【京东API接口】

一、Requests请求示例【京东API接口】 爬虫爬取网页内容首先要获取网页的内容&#xff0c;通过requests库进行获取。 安装 pip install requests 示例代码 import requests url "http://store.weigou365.cn"res requests.get(url)res.text 执行效果如下&#x…

08. 【Linux教程】CentOS 目录介绍

CentOS 目录介绍 前面小节介绍了如何安装并登录连接 CentOS 系统&#xff0c;本小节围绕 CentOS 系统的目录&#xff0c;介绍其各个目录的作用&#xff0c;方便读者以后在工作中很好地将项目和软件归类存储&#xff0c;熟悉 CentOS 系统各个目录的功能介绍&#xff0c;有助于加…

javaEE - 20( 18000字 Tomcat 和 HTTP 协议入门 -1)

一&#xff1a; HTTP 协议 1.1. HTTP 是什么 HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议. HTTP 诞生与1991年. 目前已经发展为最主流使用的一种应用层协议. 最新的 HTTP 3 版本也正在完善中, 目前 Google / Facebook 等公司的产品已经支持了. HTT…

【JavaScript 漫游】【007】数据类型转换

文章简介 本文为【JavaScript 漫游】专栏的第 007 篇文章&#xff0c;对 JS 数据类型转化语法进行了简记。 数据类型的转换指的是将 JS 的某一数据类型的值转换为 JS 的某一原始数据类型的值&#xff0c;也就是 number、string 和 boolean。 Number 方法强制转换为 number 类…

Python||五城P.M.2.5数据分析与可视化_使用复式柱状图分析各个城市的P.M.2.5月度差异情况(中)

目录 4.上海市空气质量月度差异 5.沈阳市空气质量月度差异 五城P.M.2.5数据分析与可视化_使用复式柱状图分析各个城市的P.M.2.5月度差异情况 4.上海市空气质量月度差异 import numpy as np import pandas as pd import matplotlib.pyplot as plt#读入文件 sh pd.read_csv(./S…

arping交叉编译

arping命令依赖libpcap和libnet&#xff0c;需要先交叉编译这两个库。 1.交叉编译libpcap 下载libpcap源文件&#xff0c;从github上克隆: git clone https://github.com/the-tcpdump-group/libpcap.git source交叉编译环境 # environment-setup是本机的交叉编译环境, 里面…

12. onnx转为rknn测试时有很多重叠框的修改(python)

我们下载rknn-toolkit2-master后并进行前面的处理后&#xff0c;进入到rknn-toolkit2-master\examples\onnx\yolov5文件夹&#xff0c;里面有个test.py文件&#xff0c;打开该文件&#xff0c;其代码如下&#xff1a; # -*- coding: utf-8 -*- # coding:utf-8import os import…