APP下载

鸿蒙操作系统应用软件开发学习初步

2021-12-29

科教导刊·电子版 2021年32期
关键词:鸿蒙模拟器内核

牟 峰

(南京工业大学计算机学院 江苏·南京 211816)

在高新信息技术领域的不确定性日益增强的时代里,华为的鸿蒙系统(HarmonyOS)作为一款真正意义上的国产分布式操作系统,华为欢迎友商和开发者加入鸿蒙计划并提供技术扶持。在高校中培养更多的专业鸿蒙软件开发者,是鸿蒙生态链的重要一环。本文将从头开始,探索鸿蒙软件开发学习之路。

以下对HarmonyOS操作系统做全面说明。

1 HarmonyOS有三大特征

1.1 不同设备之间硬件互助,资源共享

从开发者角度出发,可以将搭载HarmonyOS的设备在系统层面融为一体、形成超级终端,根据需要协同工作。

从使用者角度出发,HarmonyOS能够将各类终端进行能力整合,实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。

1.2 一次开发,多终端部署

HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。

1.3 统一操作系统,弹性部署

HarmonyOS采用了组件化的设计方案,可根据不同设备和业务灵活裁剪,满足不同形态终端设备对操作系统的要求。

2 操作系统分层结构与功能

HarmonyOS和大多数操作系统一样,分功能层次形实现。了解操作系统的层次和组成,可以很方便地明确哪些功能操作系统已提供、并可以裁剪;哪些功能需开发,开发工作处在整个系统的哪个层面和位置。

HarmonyOS的分层结构和功能如图1所示。

图1:HarmonyOS的分层结构和功能

2.1 内核层

内核层包括内核子系统和驱动子系统两个部分。可以将不同的内容抽象成一个统一的对外内核和驱动。

(1)核子系统:HarmonyOS支持多种内核,针对拥有不同资源的设备选用适合的 OS内核。通过内核抽象层(KAL,Kernel Abstract Layer)屏蔽不同内核差异,对上层提供进程/线程管理、内存管理、文件系统、网络管理和外设管理等基础的内核能力。

(2)驱动子系统:HarmonyOS提供硬件驱动框架(HDF),提供统一外设访问能力和驱动开发、管理框架。改框架是硬件生态开放的基础,开发新的使用鸿蒙的嵌入式系统,会涉及该部分的驱动开发工作。

2.2 系统服务层

系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:

(1)系统基本能力子系统集:该子系统为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力。其由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库。

(2)基础软件服务子系统集:该子系统为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X)、MSDP&DV等子系统组成。

(3)增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。

(4)硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。

各子系统可以根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。

2.3 框架层

框架层为 HarmonyOS应用开发提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的JSUI框架),以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。

2.4 应用层

应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。

3 软件开发环境构建

HarmonyOS软件开发环境构建包括安装开发工具,并配置相关开发环境。鸿蒙的开发环境为 DevEco Studio,支持在windows和macOS系统两种桌面操作系统中安装。对开发用电脑的硬件要求为,内存:8GB及以上;硬盘:100GB及以上;分辨率:1280*800像素及以上。以windows下安装该开发软件为例。简述开发环境构建过程。

3.1 下载和安装DevEco Studio

进入HUAWEI DevEco Studio产品页,点击下载列表后的按钮,下载DevEco Studio 2.1 Release或DevEco Studio 2.2 Beta1中的一个。

DevEcoStudio的编译构建依赖JDK,DevEcoStudio预置了OpenJDK,版本为1.8,安装过程中会自动安装JDK。

下载完成后,双击下载的“deveco-studio-xxxx.exe”,进入DevEcoStudio安装向导,在如下安装选项界面勾选64-bit launcher后,点击Next,直至安装完成。

3.2 配置开发环境

DevEco Studio提供SDK Manager统一管理SDK及工具链,下载各种编程语言的SDK包时,SDKManager会自动下载该SDK包依赖的工具链。多种编程语言的SDK包和工具链,具体说明如图2所示。

图2:多种编程语言的SDK包和工具链

首次安装和非首次安装DevEco Studio,会有不同处理步骤。第一次安装使用DevEco Studio,需要下载HarmonyOS SDK及对应工具链。

如果已经下载过HarmonyOS SDK,当存在新版本的SDK时,可以通过SDK Manager来更新对应的SDK。进入SDK Manager的方法:配置HDC工具环境变量。

HDC是为开发者提供HarmonyOS应用的调试工具,需要为HDC工具的端口号设置环境变量。

在此电脑->属性->高级系统设置->高级->环境变量中,添加 HDC端口变量。变量名为:HDC_SERVER_PORT,变量值设置为7035。

4 构建首个简单应用

以Phone工程为例,并初步熟悉鸿蒙软件开发方法。在Phone的远程模拟器中运行该工程。

4.1 创建一个新工程

打开DevEco Studio,在欢迎页点击Create HarmonyOS Project,创建一个新工程。根据工程创建向导,选择需要的Ability工程模板,然后点击Next。填写工程相关信息,Device Type选择Phone,其他保持默认值即可。

4.2 使用模拟器运行调试

DevEco Studio提供远程模拟器和本地模拟器。以远程模拟器为例进行说明。

(1)在DevEcoStudio菜单栏,点击Tools>DeviceManager。(2)在Remote Emulator页签中点击Login,在浏览器中弹出华为开发者联盟帐号登录界面,请输入已实名认证的华为开发者联盟帐号的用户名和密码进行登录。(3)在设备列表中,选择Phone设备P40,并点击按钮,运行模拟器。(4)DevEco Studio会启动应用的编译构建,完成后应用即可运行在模拟器上。

猜你喜欢

鸿蒙模拟器内核
了不起的安检模拟器
鸿蒙:打破安卓垄断 所有权归属国家
强化『高新』内核 打造农业『硅谷』
鸿蒙来了
划船模拟器
华为一大批鸿蒙商标等待审查
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
动态飞行模拟器及其发展概述