OpenHarmony应用开发【01】

2022-12-05 14:59:49 浏览数 (1)

作者:坚果 公众号:"大前端之旅" 华为云享专家,InfoQ签约作者,OpenHarmony布道师,电子发烧友鸿蒙MVP,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。

引言

因为个人的一些原因,好久也是没有碰OpenHarmony了,今天刚好有空,恰好也是调整好了自己的状态,所以就来开始继续更新了,然后这次开始,我也会从新开始将所有写过的东西,再进行一次梳理,至于为什么,可以说之前可能也写过一些,但是觉得不是那么完美,所以我觉得应该重新开始,好的,接下来开始吧。

因为我是做应用开发的,那么,我肯定会继续从应用开发入手,在此之前,我们需要做一些准备,所谓工欲善其事,必先利其器,OpenHarmony应用开发目前是支持Windows和macOS开发的,我们可以看一下自己的系统是否符合下面的要求。

系统要求

Windows操作系统:Windows10 64 位

  • 内存:8GB 及以上
  • 硬盘:100GB 及以上
  • 分辨率:1280*800 像素及以上

macOS操作系统:macOS 10.15/11/12

  • 内存:8GB 及以上
  • 硬盘:100GB 及以上
  • 分辨率:1280*800 像素及以上

下面是我的电脑的配置

然后我的分辨率是2560*1600,硬盘:1T,所以是满足条件的,可以进行开发的。

既然已经满足条件了,那么就需要做一些工具上的准备。和环境的准备

工具准备

DevEco Studio支持Windows系统,在开发OpenHarmony应用/服务前,需要准备OpenHarmony应用/服务的开发环境。环境准备流程如下所示:

img

如上图所示,搭建OpenHarmony应用/服务开发的环境包括软件安装、配置开发环境和运行HelloWorld三个环节,

接下来我们就开始这三个环节

软件安装

macOS环境

1.下载和安装DevEco Studio

进入HUAWEI DevEco Studio产品页,下载DevEco Studio 3.0 Beta3版本。

2.下载完成后,双击下载的“deveco-studio-xxxx.dmg”软件包。

3.在安装界面中,将“DevEco-Studio.app”拖拽到“Applications”中,等待安装完成。

Windows环境

1.进入HUAWEI DevEco Studio产品页,下载DevEco Studio 3.0 Beta3版本。

2.下载完成后,双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导,在如下界面选择安装路径,默认安装于C:Program Files路径下,也可以点击Browse...指定其他安装路径,然后点击Next

3.在如下安装选项界面勾选DevEco Studio后,点击Next,直至安装完成。

点击放大

4.安装完成后,点击Finish完成安装。

点击放大

配置开发环境

下载OpenHarmony SDK

DevEco Studio通过SDK Manager统一管理SDK及工具链,OpenHarmony包含如下SDK包:

组件名称

说明

JS

JS语言SDK包。

eTS

eTS(Extended TypeScript) SDK包。

Native

C 语言SDK包。

Toolchains

SDK工具链,OpenHarmony应用/服务开发必备工具集,包括编译、打包、签名、数据库管理等工具的集合。

Previewer

OpenHarmony应用预览器,可以在应用开发过程中查看界面UI布局效果。

1.运行已安装的DevEco Studio,首次使用,点击Agree,请选择Do not import settings,点击OK。

2.进入DevEco Studio操作向导页面,设置npm registry,DevEco Studio已预置对应的仓,直接点击Start using DevEco Studio进入下一步。

3.根据DevEco Studio操作向导指引下载SDK,默认存储路径为users目录,也可以选择其他不包含中文字符的路径,然后点击Next

4.在弹出的SDK下载信息页面,点击Next,并在弹出的License Agreement窗口,点击Accept开始下载SDK。

等待OpenHarmony SDK及工具下载完成,点击Finish,界面会进入到DevEco Studio欢迎页。

创建并运行HelloWorld

开发环境配置好后,可以通过运行HelloWorld工程来验证环境设置是否正确。

创建一个新工程

1.在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。

2.根据工程创建向导,选择“Empty Ability”模板,点击Next

img

3.点击Next,进入到工程配置阶段,需要根据向导配置工程的基本信息。我会对一些参数做出说明,

  • Project name:工程的名称,可以自定义。
  • Project type:工程的类型,标识该工程是一个传统方式的需要安装的应用(Application)或原子化服务(Atomic service),默认类型为Application。 说明 如果是创建的原子化服务,则:
    • 原子化服务调试、运行时,在设备桌面上没有应用图标,请参考文末的配置签名信息。来启动原子化服务。
    • 原子化服务是免安装的,config.json中自动添加installationFree字段,取值为“true”。
    • 如果entry模块的installationFree字段为true,则其相关的所有hap模块的installationFree字段都默认为true;如果entry模块的installationFree字段为false,则其相关的所有hap模块可以配置为true或false。
    • 编译构建App时,每个hap包大小不能超过10MB。
  • Bundle name:软件包名称,默认情况下,应用ID也会使用该名称,应用发布时,应用ID需要唯一。如果“Project type”选择了Atomic service,则Bundle name的后缀名必须是.hmservice。
  • Save location:工程文件本地存储路径。
  • Compile API:编译的SDK版本。
  • Model:FA模型,每个组件运行在单独的虚拟机实例中,适合有屏设备,适合开发原子化服务;Stage模型(仅Compile API为9及以上支持),多个应用组件运行在同一个虚拟机实例中,面向对象的开发方式,有屏、无屏设备均适用。
  • Enable Super Visual:选择开发模式,部分模板支持低代码开发,可选择打开该开关。
  • UI Syntax:UI的开发语言。
  • Compatible API:兼容的SDK最低版本。
  • Device type:该工程模板支持的设备类型。
  • Show in service center: 是否在服务中心露出。

4.点击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。(api版本建议选8,否则可能出现安装失败的原因)

image-20220622225420126

运行HelloWorld

1.将搭载OpenHarmony标准系统的开发板与电脑连接。目前支持的有6种,我也会在文末列出,大家可以自行购买。

2.点击File > Project Structure > Project > Signing Configs界面勾选“Automatically generate signing”,等待自动签名完成即可,点击“OK”。如下图所示:

image-20220622225714227

3.在编辑窗口右上角的工具栏,点击

运行,等待编译完成即可便运行在设备上

img

至此,恭喜你,你已经完成来第一步。接下来文末我会讲中途出现的几个问题列出,并提出解决办法

总结

通过本文,我们已经成功的配置了开发环境,运行了HelloWord,完成了第一步。向成功又迈出了一步。明天我们开始做点什么呢,大家可以在评论区告诉我。

参考

OpenHarmony开源项目

应用开发

报错

Error: : execute INSTALL task failed, component eTS: 3.1.5.5. Error: : Install eTS dependencies failed. Cause: Unable to run npm install. Solution: See https://developer.harmonyos.com/cn/docs/documentation/doc-guides/faq -development-environment-0000001168829643#section1311117111474

image-20220622224152238

这个时候不要慌张,点击Retry即可

配置签名信息

应用/服务在真机设备上运行,需要提前为应用/服务进行签名,DevEco Studio为开发者提供了自动化签名方案,可以一键完成应用/服务签名。具体操作如下:

点击File > Project Structure > Project > Signing Configs界面勾选“Automatically generate signing”,等待自动签名完成即可,点击“OK”。如下图所示:

说明

如果在config.json中配置了system_basic权限,可以点击Show Restricted Premissions查看使用的受限权限,然后在使用自动签名时,DevEco Studio会自动将受限权限添加到签名文件中。

img

运行应用/服务

安装OpenHarmony应用可以通过DevEco Studio安装,将设备连接上DevEco Studio后,点击

按钮即可安装。

img

支持的开发板

当前OpenHarmony社区支持以下6款开发板,具体介绍如下:

系统类型

开发板型号

芯片型号

主要能力

典型应用场景

开发板代码仓及社区每日构建版本获取地址

标准系统

Hi3516DV300

Hi3516DV300

Hi3516DV300是新一代Smart HD IP摄像机SOC,集成新一代ISP(Image Signal Processor)、H.265视频压缩编码器、高性能NNIE引擎,在低码率、高画质、智能处理和分析、低功耗等方面有较好的性能。

可用在带屏设备上,比如带屏冰箱、车机等。

代码仓:?device_soc_hisilicon ?device_board_hisilicon ?vendor_hisilicon 社区每日构建版本获取地址:?http://ci.openharmony.cn/dailys/dailybuilds

标准系统

润和DAYU200

RK3568

润和HH-SCDAYU200是基于Rockchip RK3568,集成双核心架构GPU以及高效能NPU;板载四核64位Cortex-A55 处理器采用22nm先进工艺,主频高达2.0GHz;支持蓝牙、Wi-Fi、音频、视频和摄像头等功能,拥有丰富的扩展接口,支持多种视频输入输出接口;配置双千兆自适应RJ45以太网口,可满足NVR、工业网关等多网口产品需求。

影音娱乐、智慧出行、智能家居,如烟机、烤箱、跑步机等。

代码仓:?device_soc_rockchip ?device_board_hihope ?vendor_hihope 社区每日构建版本获取地址:?http://ci.openharmony.cn/dailys/dailybuilds

轻量

汇顶GR5515-STARTER-KIT

GR5515

支持Bluetooth 5.1的单模低功耗蓝牙SoC,多功能按键和LED指示灯。

智能硬件,如手表、手环、价格类标签。

代码仓:?device_soc_goodix ?device_board_goodix 社区每日构建版本获取地址:?http://ci.openharmony.cn/dailys/dailybuilds

轻量

朗国LANGO200

ASR582X

LANGO200 IOT开发板,集成了高性能的WIFI-BLE双模芯片ASR5822、外部存储芯片、语音播放芯片以及模数转换等,同时支持SPI等IOT设备常用外设接口,可外扩OLED显示屏、红外遥控等。

智能家居连接类模组。

代码仓:?device_soc_asrmicro ?device_board_lango ?vendor_asrmicro 社区每日构建版本获取地址:?http://ci.openharmony.cn/dailys/dailybuilds

轻量

欧智通V200ZR

BES2600

Multi-modal V200Z-R开发板是基于恒玄科技BES2600WM芯片的一款高性能、多功能、高性价比AIoT SoC开发板Multi-modal V200Z-R开发板,单模组集成四核ARM处理器(最高主频1GHz),集成双频WiFi 双模蓝牙,支持标准的802.11 a/b/g/n/协议,支持BT/BLE 5.2协议,内建多种容量的RAM(最大42MB)和Flash(最大32MB),支持MIPI DSI及CSI,适用于各种AIoT多模态VUI GUI交互硬件场景。

智能硬件带屏类模组产品,如音箱、手表等。

代码仓:?device_soc_bestechnic ?device_board_fnlink ?vendor_bestechnic 社区每日构建版本获取地址:?http://ci.openharmony.cn/dailys/dailybuilds

轻量

小熊派BearPi-HM Nano

Hi3861

BearPi-HM_Nano开发板是一块专门为OpenHarmony设计的开发板,板载高度集成的2.4GHz WiFi SoC芯片Hi3861,并板载NFC电路及标准的E53接口,标准的E53接口可扩展智能加湿器、智能台灯、智能安防、智能烟感等案例。

智慧路灯、智慧物流、人体红外等连接类设备。

代码仓:?device_soc_hisilicon ?device_board_bearpi ?vendor_bearpi 社区每日构建版本获取地址:[http://ci.openharmony.cn/dailys/dailybuilds](

0 人点赞