环球新消息丨HarmonyOS开发:运行hello world

2023-06-12 10:26:37 来源:OST开源开发者

很多伙伴对于 Openharmony北向开发和南向开发感到困惑。南向开发就是硬件开发,这里我就和大家谈谈北向开发。

北向开发就是软件应用开发,基于 ArkTS 语言开发。编译器是 DevEco Studio。下面就讲解一下编译器安装和具体情况。

DevEco Studio 的安装


(相关资料图)

首先我们登录官网:

这里需要注意的是你需要根据你的电脑进行安装相应的版本。如果你是 win 系统你可以下载Windows(64-bit),如果你是 Macos 请下载 Mac(ARM)。(具体根据自己的系统架构来区分下载版本)。

注:如果你的 mac 是 M1 或者 M2 芯片,请不要下载 X86 版本!请不要下载 X86 版本!请不要下载 X86 版本!

下载好之后点击安装,就会出现以下画面(小编用的是 mac 系统可能会有点不一样但大部分是一样的):将其拖进 Application 就行了。

然后我们打开软件,就会出现以下内容:

在这里把存储地址选好然后点 next。

继续点 next 就好了。

完成后点 finish 就行了。

这里点击 agree 就行了。进入 DevEco Studio 配置页面,首先需要进行基础配置,包括 Node.js与 Ohpm 的安装路径设置,选择从华为镜像下载至合适的路径。

点击 next 进行下一步。

一直点 next 就行了。

完成后点击 finish 就可以了。

这样我们的编译器就安装好了。

HarmonyOS开发

①开发工具:DevEco Studio。

②开发语言:ArkTS,UI 框架 ArkUI

③工程级目录

如下:

AppScope 中存放应用全局所需要的资源文件。

entry 是应用的主模块,存放 HarmonyOS 应用的代码、资源等。

oh_modules 是工程的依赖包,存放工程依赖的源文件。

build-profile.json5 是工程级配置信息,包括签名、产品配置等。

hvigorfile.ts 是工程级编译构建任务脚本,hvigor 是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。

oh-package.json5 是工程级依赖配置文件,用于记录引入包的配置信息。

注:在 AppScope,其中有 resources 文件夹和配置文件 app.json5。

AppScope>resources>base 中包含 element 和 media 两个文件夹。

其中 element 文件夹主要存放公共的字符串、布局文件等资源。media 存放全局公共的多媒体资源文件。

④模块级目录

①entry>src 目录中主要包含总的 main 文件夹,单元测试目录 ohosTest,以及模块级的配置文件。

如下:

main 文件夹中,ets 文件夹用于存放 ets 代码,resources 文件存放模块内的多媒体及布局文件等,module.json5 文件为模块的配置文件。

ohosTest 是单元测试目录。

build-profile.json5 是模块级配置信息,包括编译构建配置项。

hvigorfile.ts 文件是模块级构建脚本。

oh-package.json5 是模块级依赖配置信息文件。

②进入 src>main>ets 目录中,其分为 entryability、pages 两个文件夹。

entryability 存放 ability 文件,用于当前 ability 应用逻辑和生命周期管理。pages 存放 UI 界面相关代码文件,初始会生成一个 Index 页面。

③resources 目录下存放模块公共的多媒体、字符串及布局文件等资源,分别存放在 element、media 文件夹中。

④app.jason5

{"app":{"bundleName":"com.example.myapplication","vendor":"example","versionCode":1000000,"versionName":"1.0.0","icon":"$media:app_icon","label":"$string:app_name"}}

AppScope>app.json5 是应用的全局的配置文件,用于存放应用公共的配置信息。

其中配置信息如下:

bundleName 是包名。

vendor 是应用程序供应商。

versionCode 是用于区分应用版本。

versionName 是版本号。

icon 对应于应用的显示图标。

label 是应用名。

⑤module.json5

entry>src>main>module.json5 是模块的配置文件,包含当前模块的配置信息。

{"module":{"name":"entry","type":"entry","description":"$string:module_desc","mainElement":"EntryAbility","deviceTypes":["phone"],"deliveryWithInstall":true,"installationFree":false,"pages":"$profile:main_pages","abilities":[{"name":"EntryAbility","srcEntry":"./ets/entryability/EntryAbility.ts","description":"$string:EntryAbility_desc","icon":"$media:icon","label":"$string:EntryAbility_label","startWindowIcon":"$media:icon","startWindowBackground":"$color:start_window_background","exported":true,"skills":[{"entities":["entity.system.home"],"actions":["action.system.home"]}]}]}}

其中 module 对应的是模块的配置信息,一个模块对应一个打包后的 hap 包,hap 包全称是 HarmonyOS Ability Package,其中包含了 ability、第三方库、资源和配置文件。其具体属性及其描述可以参照下表。

name:标签标识当前 module 的名字,module 打包成 hap 后,表示 hap 的名称,标签值采用字符串表示(最大长度 31 个字节),该名称在整个应用要唯一。

type:表示模块的类型,类型有三种,分别是 entry、feature 和 har。

srcEntry:当前模块的入口文件路径。

description:当前模块的描述信息。

mainElement:该标签标识 hap 的入口 ability 名称或者 extension 名称。只有配置为 mainElement 的 ability 或者 extension 才允许在服务中心露出。

deviceTypes:该标签标识 hap 可以运行在哪类设备上,标签值采用字符串数组的表示。

deliveryWithInstall:标识当前 Module 是否在用户主动安装的时候安装,表示该 Module 对应的 HAP 是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装。

installationFree:标识当前 Module 是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。

pages:对应的是 main_pages.json 文件,用于配置 ability 中用到的 page 信息。

abilities:是一个数组,存放当前模块中所有的 ability 元能力的配置信息,其中可以有多个 ability。

⑥main_pages.json

{"src":["pages/Index"]}

src/main/resources/base/profile/main_pages.json 文件保存的是页面 page 的路径配置信息,所有需要进行路由跳转的 page 页面都要在这里进行配置。

运行一个hello world

下面我们新建一个项目:

点击 next:

继续点击 next:

等待其下载好。

点击 tools 里面的 Device Manager。

点击右下角按钮:

点击 next。

一般这边会出现下载图标,这里博主下载过了所以没有出现。下载好之后直接点击 next。

下载完成之后点击绿色三角形标就行了。这样模拟机就可以运行了。

这样就算启动好了。

然后我们点击右上角启动预制的 hello world 代码。这样就算完成了。

总结

如果还有错误的地方欢迎指出并纠正。谢谢大家!

审核编辑:汤梓红

标签:

上一篇:基于Ansys的PCB板级电磁兼容 世界热门
下一篇:最后一页