news 2026/7/16 9:27:39

HarmonyOs应用《重要日》开发第2篇 - 开发环境搭建与项目创建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOs应用《重要日》开发第2篇 - 开发环境搭建与项目创建

本篇将手把手教你如何搭建 HarmonyOS 开发环境,创建 ImportantDays 项目工程,并完成基础配置。

一、开发工具准备

1.1 DevEco Studio

HarmonyOS 应用开发使用华为官方 IDEDevEco Studio,它是基于 IntelliJ IDEA 社区版定制的集成开发环境。

下载地址:华为开发者官网 https://developer.huawei.com/consumer/cn/deveco-studio/

系统要求

  • Windows 10/11 64 位
  • macOS 11 或更高版本
  • 内存:8GB 以上(推荐 16GB)
  • 磁盘空间:10GB 以上

1.2 SDK 安装

安装 DevEco Studio 后,首次启动会引导安装 HarmonyOS SDK。本项目使用的是:

  • HarmonyOS SDK 版本:5.0.3(15)
  • ArkTS 版本:对应 SDK 5.0.3

在 DevEco Studio 中通过File > Settings > SDK确认 SDK 版本。

1.3 模拟器配置

为了测试应用,需要配置 HarmonyOS 模拟器:

  1. 打开 DevEco Studio
  2. 点击Tools > Device Manager
  3. 创建一个新的模拟器(Phone 类型)
  4. 选择合适的系统镜像

也可以使用真机调试,需要在开发者选项中开启 USB 调试。

二、创建项目

2.1 新建工程

  1. 打开 DevEco Studio,点击Create Project
  2. 选择Empty Ability模板
  3. 填写项目信息:
    • Project name:ImportantDays
    • Bundle name:com.importantdays.app
    • Save location:选择你的工作目录
    • Compile SDK:5.0.3(15)
    • Compatible SDK:5.0.3(15)
    • Module language:ArkTS
    • Device type:Phone
  4. 点击Finish创建工程

2.2 项目初始结构

创建完成后,DevEco Studio 会自动生成以下文件结构:

ImportantDays/ ├── AppScope/ │ ├── app.json5 # 应用配置 │ └── resources/ │ └── base/ │ └── element/ │ └── string.json # 应用名称等字符串 ├── entry/ │ └── src/main/ │ ├── ets/ │ │ ├── entryability/ │ │ │ └── EntryAbility.ets # 入口 Ability │ │ └── pages/ │ │ └── Index.ets # 默认首页 │ ├── resources/ │ │ └── base/ │ │ ├── element/ │ │ │ ├── color.json │ │ │ ├── float.json │ │ │ └── string.json │ │ └── media/ # 图标资源 │ └── module.json5 # 模块配置 ├── build-profile.json5 ├── oh-package.json5 └── hvigorfile.ts

2.3 修改应用配置

打开AppScope/app.json5,修改为:

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

打开AppScope/resources/base/element/string.json,添加应用名称:

{ "string": [ { "name": "app_name", "value": "重要日" } ] }

三、引入第三方依赖

3.1 添加 dayjs

本项目使用 dayjs 进行日期处理。打开oh-package.json5

{ "modelVersion": "5.0.3", "description": "ImportantDays - Track your important days with countdown/count-up", "dependencies": { "dayjs": "^1.11.13" }, "devDependencies": { "@ohos/hypium": "1.0.21" } }

3.2 同步依赖

在 DevEco Studio 中,修改oh-package.json5后会自动提示同步。也可以手动触发:

  • 点击工具栏的Sync Now按钮
  • 或者执行File > Sync and Refresh Project

等待 hvigor 构建工具自动下载 dayjs 到oh_modules/目录。

3.3 验证依赖安装

同步完成后,项目目录下会出现oh_modules/dayjs/文件夹,确认安装成功。

四、创建项目目录结构

按照 MVVM 架构,我们需要创建以下目录:

entry/src/main/ets/ ├── common/ # 常量 ├── components/ # UI组件 ├── model/ # 数据模型 ├── types/ # 类型定义 ├── utils/ # 工具类 └── viewmodel/ # ViewModel

在 DevEco Studio 中,右键ets目录,选择New > Directory,依次创建上述目录。

五、配置 module.json5

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.ets", "description": "$string:EntryAbility_desc", "icon": "$media:layered_image", "label": "$string:EntryAbility_label", "startWindowIcon": "$media:foreground", "startWindowBackground": "$color:start_window_background", "exported": true, "skills": [ { "entities": ["entity.system.home"], "actions": ["action.system.home"] } ] } ], "extensionAbilities": [ { "name": "EntryBackupAbility", "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", "type": "backup", "exported": false, "metadata": [ { "name": "ohos.extension.backup", "resource": "$profile:backup_config" } ] } ] } }

关键配置说明:

  • mainElement:指定应用的入口 Ability 为EntryAbility
  • pages:引用main_pagesprofile 文件,定义页面路由
  • skills:声明应用可以响应系统桌面点击启动
  • extensionAbilities:配置备份 Ability

六、配置页面路由

entry/src/main/resources/base/profile/目录下创建main_pages.json

{"src":["pages/MainEntry","pages/AddEditDayPage","pages/DayDetailPage"]}

这里注册了三个页面:

  • MainEntry:主入口页面(包含 Tab 导航)
  • AddEditDayPage:添加/编辑页面(使用 router 跳转)
  • DayDetailPage:详情页面(使用 router 跳转)

七、构建验证

完成以上配置后,点击 DevEco Studio 工具栏的Build > Build H(s)进行编译。如果编译成功,说明项目框架搭建完成。

常见编译问题:

  1. SDK 版本不匹配:检查build-profile.json5中的 SDK 版本
  2. 依赖同步失败:检查网络连接,重新同步 oh-package.json5
  3. 页面路由找不到:确保main_pages.json中注册了所有页面

八、小结

本篇详细介绍了 HarmonyOS 开发环境的搭建过程,包括 DevEco Studio 安装、项目创建、依赖管理、目录结构规划和核心配置文件。完成这些步骤后,项目的基本框架就已经搭建好了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 9:27:12

宋恭帝赵㬎:身不由己的南宋亡国幼帝

一、人物介绍赵㬎(1271年-1323年),南宋第七位皇帝,宋度宗嫡子,史称宋恭帝。他即位时年仅四岁,是典型的幼主临朝,一生从未真正掌控皇权。身处南宋彻底覆灭的乱世,他懵懂登…

作者头像 李华
网站建设 2026/7/16 9:27:05

拍手开关电路设计:从原理到实战优化

1. 拍手开关电路的设计初衷 这个看似简单的电路背后其实解决了一个非常实际的痛点需求——在双手被占用或环境光线不足时,如何实现非接触式控制电器开关。传统机械开关需要精确按压,而声控开关则存在误触发率高的问题。拍手开关通过特定频率识别和幅度阈…

作者头像 李华
网站建设 2026/7/16 9:26:33

鸿蒙应用开发第一步:个人开发者账号注册与实名认证全流程解析

1. 为什么要注册华为开发者账号 如果你正准备踏入鸿蒙应用开发的大门,那么注册华为开发者账号就是你的第一张入场券。这个账号不仅是你在华为开发者生态中的身份标识,更是解锁各种开发资源的关键。我刚开始接触鸿蒙开发时,也曾觉得注册流程繁…

作者头像 李华
网站建设 2026/7/16 9:26:25

基于VLC media player的RTSP流媒体服务器搭建与跨设备测试

1. 为什么选择VLC搭建RTSP流媒体服务器第一次接触RTSP流媒体服务器搭建时,我试过不少专业软件,要么配置复杂得让人头疼,要么收费昂贵。后来发现VLC这个"瑞士军刀"不仅能播放视频,还能轻松变身流媒体服务器,实…

作者头像 李华
网站建设 2026/7/16 9:22:04

OSPF链路状态算法:从邻居发现到全网拓扑的构建之路

1. OSPF协议与链路状态算法概述 想象一下你刚搬进一个新小区,需要快速了解周边环境。OSPF协议就像一位热心的社区管理员,它通过 链路状态算法 让每个路由器(住户)都能掌握整个网络(社区)的完整地图。与RI…

作者头像 李华