(四)润开鸿HH-SCDAYU800A开发板DevEco Studio IDE开发环境介绍

1.DevEco Studio集成开发环境
HUAWEI DevEco Studio是基于IntelliJ IDEA Community开源版本打造,面向HarmonyOS应用/元服务开发场景的一站式集成开发环境。提供AI 辅助编程、编译构建、UI 实时预览、代码调试、性能调优、模拟器等功能,帮助你高效开发HarmonyOS应用及元服务。
- CodeGenie AI辅助编程:提供HarmonyOS应用开发智能知识问答、代码生成&补全、万能卡片生成、UI 界面生成等能力。
- 智能代码编辑:代码编辑为 ArkTS、JS 和 C/C++ 编程语言提供代码智能补齐、代码重构等能力,帮助你高效编码。
- 多端双向实时预览:界面预览功能帮助你在 UI 编码时快速预览界面在多种设备上的显示效果,查看组件布局,提升 UI 开发效率。
- Hvigor轻量级构建工具:支持源码、资源、构建流程的自定义,可以灵活构建差异化的多目标产物。提供Build Analyzer帮助分析构建性能,提升构建效率。
- 跨语言调试:支持 ArkTS&C++ 语言调试、汇编调试、lldb 命令调试、反向调试、内存视图分析、智能跳转和数据断点等丰富调试能力。
- Profiler应用调优:支持分析多种场景应用性能问题,包括内存泄漏、组件耗时、网络请求、应用启动、界面卡顿等。提供可视化泳道图帮助优化HarmonyOS应用性能。
- AppAnalyzer应用与元服务体检:使用体检工具在开发阶段发现可能影响上架的兼容性、性能、功耗、稳定性等问题,并支持场景化检测,提升应用基础体验及上架成功率。
- 本地模拟器:提供手机、折叠屏、平板模拟器可以帮助你在各种HarmonyOS设备上调测应用,以更好的适配不同的机型和HarmonyOS版本。
- 依赖管理:ohpm是DevEco Studio默认的包管理工具 ,可以使用ohpm安装、更新、删除和管理HAR、HSP或模块之间的依赖关系,帮助开发者简化了代码的共享、分发和依赖管理 。同时,提供ohpm-repo工具帮助开发者搭建轻量级的HarmonyOS三方库私有仓服务。它与ohpm兼容,用来存储和管理您独有的三方库,保证这些三方包的私有性的同时,便于这些三方库能在开发团队内部共享复用,从而提升团队的开发效率。
2.工程目录结构
2.1ArkTS工程目录结构(Stage模型)
- AppScope > app.json5:应用的全局配置信息。
- entry:应用/元服务模块,编译构建生成一个HAP。
- src > main > ets:用于存放ArkTS源码。
- src > main > ets > entryability:应用/元服务的入口。
- src > main > ets > pages:应用/元服务包含的页面。
- src > main > resources:用于存放应用/元服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。
| 资源目录 |
资源文件说明 |
|---|
| base>element |
包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由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)等。
2.2C++工程目录结构(Stage模型)
- 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格式进行定义 |
| 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:应用级编译构建任务脚本。
2.3JS工程目录结构(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格式进行定义。 |
| 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:应用级编译构建任务脚本。
3.工程模板介绍
DevEco Studio支持多种品类的应用/元服务开发,预置丰富的工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行应用/元服务开发,包括ArkTS、JS和C/C++。
工程模板支持的开发语言及模板说明如下表所示:
| 模板名称 |
说明 |
|---|
| Empty Ability |
用于Phone、Tablet、2in1、Car、Wearable、TV设备的模板,展示基础的Hello World功能。 |
| Native C++ |
用于Phone、Tablet、2in1、Car、Wearable、TV设备的模板,作为应用调用C++代码的示例工程,界面显示“Hello World”。 |
| [CloudDev]Empty Ability |
端云一体化开发通用模板。更多信息请参见端云一体化开发。 |
| [Lite]Empty Ability |
用于Lite Wearable设备的模板,展示了基础的Hello World功能。可基于此模板,修改设备类型及RuntimeOS,进行小型嵌入式设备开发。 |
| Flexible Layout Ability |
用于创建跨设备应用开发的三层工程结构模板。三层工程结构包含common(公共能力层)、features(基础特性层)、products(产品定制层)。 |
| Embeddable Ability |
用于开发支持被其他应用嵌入式运行的元服务的工程模板。 |
(以上内容来自于华为开发者联盟:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/application-dev-guide)
(五)润开鸿HH-SCDAYU800A开发板DevEco Studio IDE开发环境搭建
1.官网下载DevEco Studio IDE 4.1 Release安装包。(官方下载地址:https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_package_901_9/ee/v3/HqJ-6O2FQny86xtk_dg9HQ/devecostudio-windows-4.1.0.400.zip?HW-CC-KV=V1&HW-CC-Date=20240409T033730Z&HW-CC-Expire=315360000&HW-CC-Sign=BFA444BC43A041331E695AE2CFA9035A957AF107E06C97E793FD3D31D7096A0D)

2.安装DevEco Studio IDE 4.1 Release安装包。

3.打开DevEco Studio,选择“Creat Project”,“Applaction”选择“Empty Ability”,点击“Next”。

4.“Compile SDK”及“Compatible SDK”选择默认配置,点击“Finish”。

5.点击“File”选择“Settings”,在“SDK”选项中选择“OpenHarmony”。

6.选中“API Verion 11”,并选择对应4.1.7.5版本的“ArkTS”、“JS”、“Native”、“Previewer”及“Toolchains”选项,点击“OK”。

注意:未下载安装的选项会在点击“ok”后自动安装
7.复制“Location”的路径。在“编辑系统环境变量”中选择“环境变量”。

8.“系统变量”中选择“Path”,点击“新建”,粘贴“Location”的路径,并上移置顶。

9.打开CMD,输入“hdc.exe -h”,显示下述内容则为配置成功。
OpenHarmony device connector(HDC) ...
---------------------------------global commands:----------------------------------
-h/help [verbose] - Print hdc help, 'verbose' for more other cmds
-v/version - Print hdc version
-t connectkey - Use device with given connect key
---------------------------------component commands:-------------------------------
session commands(on server):
list targets [-v] - List all devices status, -v for detail
start [-r] - Start server. If with '-r', will be restart server
kill [-r] - Kill server. If with '-r', will be restart server
service commands(on daemon):
target mount - Set /system /vendor partition read-write
target boot [-bootloader|-recovery] - Reboot the device or boot into bootloader\\\\\\\\recovery.
target boot [MODE] - Reboot the into MODE.
smode [-r] - Restart daemon with root permissions, '-r' to cancel root
permissions
tmode usb - Reboot the device, listening on USB
tmode port [port] - Reboot the device, listening on TCP port
---------------------------------task commands:-------------------------------------
file commands:
file send [option] local remote - Send file to device
file recv [option] remote local - Recv file from device
option is -a|-s|-z
-a: hold target file timestamp
-sync: just update newer file
-z: compress transfer
-m: mode sync
forward commands:
fport localnode remotenode - Forward local traffic to remote device
rport remotenode localnode - Reserve remote traffic to local host
node config name format 'schema:content'
examples are below:
tcp:<port>
localfilesystem:<unix domain socket name>
localreserved:<unix domain socket name>
localabstract:<unix domain socket name>
dev:<device name>
jdwp:<pid> (remote only)
fport ls - Display forward/reverse tasks
fport rm taskstr - Remove forward/reverse task by taskstring
app commands:
install [-r|-s] src - Send package(s) to device and install them
src examples: single or multiple packages and directories
(.hap .hsp)
-r: replace existing application
-s: install shared bundle for multi-apps
uninstall [-k] [-s] package - Remove application package from device
-k: keep the data and cache directories
-s: remove shared bundle
debug commands:
hilog [-h] - Show device log, -h for detail
shell [COMMAND...] - Run shell command (interactive shell if no command given)
bugreport [FILE] - Return all information from the device, stored in file if FILE is specified
jpid - List pids of processes hosting a JDWP transport
security commands:
keygen FILE - Generate public/private key; key stored in FILE and FILE.pub

10.点击“File”选择“Project Structure”,选择“Signing Configs”,登录华为帐号。

11.将润开鸿HH-SCDAYU800A开发板和终端通过USB Type-C链接,此时在DevEco Studio IDE显示开发板相关信息。

12.点击DevEco Studio IDE右上角“RUN”按钮,润开鸿HH-SCDAYU800A开发板显示Hello World,则表示环境配置成功。
