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

目前

  • 前言
  • 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.mzph.cn/news/674688.shtml

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

相关文章

大数据 - Spark系列《四》- Spark分布式运行原理

Spark系列文章: 大数据 - Spark系列《一》- 从Hadoop到Spark:大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 目录 🍠…

sqli-labs-master靶场训练笔记(38-53|boss战)

2024.2.4 level-38 (堆叠注入) 这题乍一看感觉又是来卖萌的,这不是和level-1一模一样吗 然后仔细看了一下源代码,根据 mysqli_multi_query 猜测这题的本意应该是堆叠注入 mysqli_multi_query() 是 PHP 中用于执行多个 SQL 查…

品牌如何营造生活感氛围?媒介盒子分享

「生活感」简而言之是指人们对生活的感受和意义,它往往没有充斥在各种重要的场合和事件中,而是更隐藏在细碎平凡的生活场景中。在营销越来越同质化的当下,品牌应该如何打破常规模式,洞察消费情绪,找到更能打动消费者心…

2023:AI疯狂进化年

嘿,大家好!让我们一起来回顾一下这疯狂的 2023 年吧!记得那个二月初吗?ChatGPT 上线了,然后呢?短短两个月,用户数量就像火箭一样突破了 1 亿!这速度,简直比超级赛亚人还快…

前端JavaScript篇之对执行上下文的理解

目录 对执行上下文的理解创建执行上下文 对执行上下文的理解 当我们在执行JavaScript代码时,JavaScript引擎会创建并维护一个执行上下文栈来管理执行上下文。执行上下文有三种类型:全局执行上下文、函数执行上下文和eval函数执行上下文。 在写代码的时…

(6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理

目录 一、为什么要使用Adaboost建模? 二、泰坦尼克号分析(工作环境) (插曲)Python可以引入任何图形及图形可视化工具 三、数据分析 四、模型建立 1、RandomForestRegressor预测年龄 2、LogisticRegression建模 引入GridSearchCV 引入RandomizedSearchCV 3、Deci…

第三百一十回

我们在上一章回中介绍了"再谈ListView中的分隔线",本章回中将介绍showMenu的用法.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在第一百六十三回中介绍了showMenu相关的内容,它主要用来显示移动PopupMenu在页面中的位置…

C语言第二十一弹---指针(五)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 转移表 1、转移表 总结 1、转移表 函数指针数组的用途:转移表 举例:计算器的⼀般实现: 假设我们需要做一个能够进行加减…

CoreSight学习笔记

文章目录 1 Components1.1 ROM Table 2 使用场景2.1 Debug Monitor中断2.1.1 参考资料 2.2 Programming the cross halt2.2.1 编程实现2.2.2 参考资料 2.3 CTI中断2.3.1 编程实现2.3.1.1 准备工作2.3.1.2 触发中断2.3.1.3 中断响应 2.3.2 参考资料 1 Components 1.1 ROM Table…

rust语言tokio库底层原理解析

目录 1 rust版本及tokio版本说明1 tokio简介2 tokio::main2.1 tokio::main使用多线程模式2.2 tokio::main使用单线程模式 3 builder.build()函数3.1 build_threaded_runtime()函数新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图…

国产三维剖面仪—MPAS-100相控参量阵浅地层剖面仪

最近声学所东海站邹博士发来了他们最新的浅地层剖面仪—MPAS-100相控参量阵浅地层剖面仪的资料,市场型号GeoInsight,委托Ocean Physics Technology公司销售,地大李师兄的公司负责技术支持。 MPAS-100相控参量阵浅地层剖面仪就是俗称的三维浅…

git安装配置

1、下载安装 下载地址 2、配置git用户 git config --global user.name "yw" git config --global user.email "88888qq.com" 3、git init 初始化 4、生成ssh密钥 mkdir .ssh //创建文件夹cd .ssh //进入新建文件夹 ssh-keygen -t rsa // 输入密钥文…

Uniapp真机调试:手机端访问电脑端的后端接口解决

Uniapp真机调试:手机端访问电脑端的后端接口解决 1、前置操作 HBuilderX -> 运行 -> 运行到手机或模拟器 -> 运行到Android App基座 少了什么根据提示点击下载即可 使用数据线连接手机和电脑 手机端:打开开发者模式 -> USB调试打开手机端&…

使用 WMI 查询安全软件信息

在这篇文章中,我们将详细介绍如何使用 Windows Management Instrumentation (WMI) API 来查询当前计算机上安装的安全软件的基本信息。我们将分析代码的各个部分,并解释每个步骤所涉及的技术和原理。 一、什么是 WMI? WMI 是 Windows Manag…

Vue安装与配置

写入借鉴网址:好细的Vue安装与配置_vue配置-CSDN博客 下载Vue安装地址: Node.js — Download 查看是否安装成功: node -v npm -v 配置全局模式及缓存 结果通过: C:\Windows\system32>npm install vue -g added 20 packages …

大学生活的“三角平衡”与“合法”偷懒艺术

在那个被称为大学的神奇乐园里,我终于找到了自我,或者说,我找到了一种平衡。这种平衡被我称为“三角平衡”,它是由懒觉、兴趣爱好和学习这三者构成的。在这个平衡中,我像一名杂技演员一样,稳稳地站在三个顶…

jsp商场会员卡管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 商场会员卡管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.…

python中sort()函数的详细使用方法

目录 使用reverse指定排序顺序 使用key指定排序规则 使用匿名函数制定规则 定义比较函数制定规则 制定多规则 多复杂规则排序 sort()是python非常好用的排序函数,可以对一个列表进行排序,这个排序只是会修改原列表,不会创建新的列表 使…

2024年 复习 HTML5+CSS3+移动web 笔记 之CSS遍 第6天

6.1 定位-相对和绝对和固定 6.2 相对和绝对和固定 6.3 堆叠顺序z-index 6.4 定位总结 6.5 CSS精灵 基本使用 6.6 案例 CSS精灵 京东服务 6.7 字体图标-下载和使用 6.8 字体图标-上传 6.9 垂直对齐方式vertical-align 6.10 过渡属性 6.11 修饰属性-透明度与光标类型 6.12 综合案…

2.8 数据类型与作用域练习

1、选择题 1.1、以下选项中,不能作为合法常量的是 ___B___ A)1.234e04 B)1.234e0.4 C)1.234e4 D)1.234e0 解析:在C语言中,合法的浮点常量形式通常遵循以下规则:1.可以有整数部分、小数部…