【HarmonyOS Next之旅】DevEco Studio使用指南(一)

目录

[1 -> 工具简介](#1 -> 工具简介)

[1.1 -> 概述](#1.1 -> 概述)

[1.2 -> HarmonyOS应用/服务开发流程](#1.2 -> HarmonyOS应用/服务开发流程)

[1.2.1 -> 开发准备](#1.2.1 -> 开发准备)

[1.2.2 -> 开发应用/服务](#1.2.2 -> 开发应用/服务)

[1.2.3 -> 运行、调试和测试应用/服务](#1.2.3 -> 运行、调试和测试应用/服务)

[1.2.4 -> 发布应用/服务](#1.2.4 -> 发布应用/服务)

[2 -> 工程介绍](#2 -> 工程介绍)

[2.1 -> APP包结构](#2.1 -> APP包结构)

[2.2 -> 切换工程视图](#2.2 -> 切换工程视图)

[3 -> 工程目录结构](#3 -> 工程目录结构)

[3.1 -> ArkTS工程目录结构(Stage模型)](#3.1 -> ArkTS工程目录结构(Stage模型))

[3.2 -> C++工程目录结构(Stage模型)](#3.2 -> C++工程目录结构(Stage模型))

[3.3 -> JS工程目录结构(FA模型)](#3.3 -> JS工程目录结构(FA模型))


1 -> 工具简介

1.1 -> 概述

HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,全方位的质量与安全保障。

作为一款开发工具,除了具有基本的代码开发、编译构建及调测等功能外,DevEco Studio还具有如下特点:

  • 高效智能代码编辑:支持eTS、JavaScript、C/C++等语言的代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、代码查找等功能,提升代码编写效率。
  • 低代码可视化开发:丰富的UI界面编辑能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得;同时支持卡片的零代码开发,降低开发门槛和提升界面开发效率。
  • 多端双向实时预览:支持UI界面代码的双向预览、实时预览、动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。
  • 多端设备模拟仿真:提供HarmonyOS本地模拟器、远程模拟器、超级终端模拟器,支持手机、智慧屏、智能穿戴等多端设备的模拟仿真,便捷获取调试环境。

1.2 -> HarmonyOS应用/服务开发流程

使用DevEco Studio,只需要按照如下几步,即可轻松开发并上架一个HarmonyOS应用/服务到华为应用市场。

1.2.1 -> 开发准备

开发工具的安装以及环境的配置参考往期文章:

【HarmonyOS之旅】DevEco Studio的安装与环境配置

1.2.2 -> 开发应用/服务

DevEco Studio集成了手机、智慧屏、智能穿戴等设备的典型场景模板,可以通过工程向导轻松的创建一个新的工程。

接下来还需要定义应用/服务的UI、开发业务功能等编码工作,可以根据HarmonyOS应用开发概述来查看具体的开发过程,通过查看API接口文档查阅需要调用的API接口。

在开发代码的过程中,可以使用预览器查看应用/服务效果,支持实时预览、动态预览、双向预览等功能,使编码的过程更高效。

1.2.3 -> 运行、调试和测试应用/服务

应用/服务开发完成后,可以使用真机进行调试(需要申请调测证书进行签名)或者使用模拟器进行调试,支持单步调试、跨设备调试、跨语言调试、变量可视化等调试手段,使得应用/服务调试更加高效。

HarmonyOS应用/服务开发完成后,在发布到应用/服务市场前,还需要对应用进行测试,主要包括漏洞、隐私、兼容性、稳定性、性能等进行测试,确保HarmonyOS应用/服务纯净、安全,给用户带来更好的使用体验。

1.2.4 -> 发布应用/服务

HarmonyOS应用/服务开发、测试完成后,需要将应用/服务发布至应用市场,以便应用市场对应用/服务进行分发,普通消费者可以通过应用市场或服务中心获取到对应的HarmonyOS应用/服务。需要注意的是,发布到华为应用市场或服务中心的HarmonyOS应用/服务,必须使用应用市场颁发的发布证书进行签名。

2 -> 工程介绍

2.1 -> APP包结构

在进行应用/元服务开发前,开发者应该掌握应用/元服务的逻辑结构。

应用/元服务发布形态为**APP Pack(**Application Package),它是由一个或多个HAP(Harmony Ability Package)包以及描述APP Pack属性的pack.info文件组成。

一个HAP在工程目录中对应一个Module,它是由代码、资源、三方库及应用/元服务配置文件组成,HAP可以分为Entry和Feature两种类型。

  • **Entry:**应用的主模块,作为应用的入口,提供了应用的基础功能。

  • **Feature:**应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。

基于Stage模型和FA模型开发的应用,应用程序包结构并不相同。

Stage模型应用程序包结构如下图所示。

FA模型应用程序包结构如下图所示。

2.2 -> 切换工程视图

DevEco Studio工程目录结构提供工程视图和Ohos视图。工程视图(Project)展示工程中实际的文件结构,Ohos视图会隐藏一些编码中不常用到的文件,并将常用到的文件进行重组展示,方便开发者查询或定位所需编辑的模块或文件。

工程创建或打开后,默认显示工程视图,如果要切换到Ohos视图,在左上角单击Project > Ohos 进行切换**。**

3 -> 工程目录结构

3.1 -> ArkTS工程目录结构(Stage模型)

ArkTS Stage模型支持API Version 10及以上版本,其工程目录结构如下图所示:

  • AppScope > app.json5:应用的全局配置信息。
  • **entry:**应用/元服务模块,编译构建生成一个HAP。
    • src > main > ets:用于存放ArkTS源码。
    • src > main > ets > entryability:应用/元服务的入口。
    • src > main > ets > pages:应用/元服务包含的页面。
    • **src > main > resources:**用于存放应用/元服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。

|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 资源目录 | 资源文件说明 |
| base>element | 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: * boolean.json:布尔型 * color.json:颜色 * float.json:浮点型 * intarray.json:整型数组 * integer.json:整型 * pattern.json:样式 * plural.json:复数形式 * strarray.json:字符串数组 * string.json:字符串值 |
| base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。 |
| rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |

    • src > main > module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
    • **build-profile.json5:**当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
    • hvigorfile.ts:模块级编译构建任务脚本。
    • oh-package.json5:描述三方包的包名、版本、入口文件(类型声明文件)和依赖项等信息。
  • oh_modules:用于存放三方库依赖信息,包含应用/元服务所依赖的第三方库文件。
  • **build-profile.json5:**应用级配置信息,包括签名、产品配置等。
  • **hvigorfile.ts:**应用级编译构建任务脚本。
  • **oh-package.json5:**描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。

3.2 -> C++工程目录结构(Stage模型)

C++ Stage模型支持API Version 10以上版本,支持使用ArkTS+C++进行开发,其工程目录结构如下图所示。

  • entry:应用模块,编译构建生成一个HAP。
  • src > main > cpp > types:用于存放C++的API接口描述文件
  • src > main > cpp > types > libentry > index.d.ts:描述C++ API接口行为,如接口名、入参、返回参数等。
  • src > main > cpp > types > libentry> oh-package.json5:配置.so三方包声明文件的入口及包名。
  • src > main > cpp > CMakeLists.txt:CMake配置文件,提供CMake构建脚本。
  • src > main > cpp > napi_init.cpp: 定义C++ API接口的文件**。**
  • **src > main > ets:**用于存放ArkTS源码。
  • **src > main > resources:**用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等。

|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 资源目录 | 资源文件说明 |
| base>element | 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: * boolean.json:布尔型 * color.json:颜色 * float.json:浮点型 * intarray.json:整型数组 * integer.json:整型 * pattern.json:样式 * plural.json:复数形式 * strarray.json:字符串数组 * string.json:字符串值。 |
| base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。 |
| rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |

    • **src > main > module.json5:**Stage模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
    • **build-profile.json5:**当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
    • **hvigorfile.ts:**模块级编译构建任务脚本。
  • **build-profile.json5:**应用级配置信息,包括签名、产品配置等。
  • hvigorfile.ts:应用级编译构建任务脚本。

3.3 -> JS工程目录结构(FA模型)

JS工程只支持FA模型,其工程目录结构如下图所示:

  • **entry:**应用/元服务模块,编译构建生成一个HAP。
  • src > main > js:用于存放js源码。
  • src > main > js > MainAbility:应用/元服务的入口。
  • src > main > js > MainAbility > i18n:用于配置不同语言场景资源内容,比如应用文本词条、图片路径等资源。
  • src > main > js > MainAbility > pages:MainAbility包含的页面。
  • src > main > js > MainAbility > app.js:承载Ability生命周期。
  • **src > main > resources:**用于存放应用/元服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。

|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 资源目录 | 资源文件说明 |
| base>element | 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: * boolean.json:布尔型 * color.json:颜色 * float.json:浮点型 * intarray.json:整型数组 * integer.json:整型 * pattern.json:样式 * plural.json:复数形式 * strarray.json:字符串数组 * string.json:字符串值 |
| base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。 |
| rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |

    • src > main > config.json:模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
    • **build-profile.json5:**当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
    • hvigorfile.ts:模块级编译构建任务脚本。
    • oh-package.json5:配置三方包声明文件的入口及包名。
  • **build-profile.json5:**应用级配置信息,包括签名、产品配置等。
  • **hvigorfile.ts:**应用级编译构建任务脚本。

感谢各位大佬支持!!!

互三啦!!!

相关推荐
别说我什么都不会13 分钟前
使用Multipass编译OpenHarmony工程
操作系统·嵌入式·harmonyos
轻口味3 小时前
【每日学点HarmonyOS Next知识】多继承、swiper容器、事件传递、滚动安全区域、提前加载网络图片
华为·harmonyos·harmonyosnext
zhgjx-dengkewen3 小时前
华为eNSP:实验 OSPF单区域
运维·网络·华为·智能路由器
别说我什么都不会3 小时前
鸿蒙轻内核M核源码分析系列二一 05 文件系统FatFS
操作系统·嵌入式·harmonyos
Georgewu4 小时前
【HarmonyOS Next】鸿蒙应用故障处理思路详解
前端·vue.js·harmonyos
盖世栗子4 小时前
HarmonyOS中Image组件的缩放模式
harmonyos
幽蓝计划8 小时前
HarmonyOS Next开发教程之地图定位
harmonyos
轻口味12 小时前
【每日学点HarmonyOS Next知识】Web交互、列表拖拽、横屏后布局、Event序列问题、Scroll与Web组合
前端·交互·harmonyos·harmonyosnext
轻口味21 小时前
【每日学点HarmonyOS Next知识】截图组件截取列表、Toggle组件、Web组件请求头、列表选择弹窗、游戏加速
前端·游戏·harmonyos·harmonyosnext
鸿蒙开发工程师—阿辉21 小时前
HarmonyOS Next元服务网络请求封装实践
网络·华为·typescript·harmonyos·元服务