当前位置: 首页 > news >正文

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 安装、项目创建、依赖管理、目录结构规划和核心配置文件。完成这些步骤后,项目的基本框架就已经搭建好了。

http://www.cnnetsun.cn/news/3418855.html

相关文章:

  • 宋恭帝赵㬎:身不由己的南宋亡国幼帝
  • 拍手开关电路设计:从原理到实战优化
  • 鸿蒙应用开发第一步:个人开发者账号注册与实名认证全流程解析
  • 基于VLC media player的RTSP流媒体服务器搭建与跨设备测试
  • OSPF链路状态算法:从邻居发现到全网拓扑的构建之路
  • [简化版 GAMES 104] 现代游戏引擎 01:从代码到世界:现代游戏引擎的恢弘史诗
  • Beta分布:从先验到后验的贝叶斯桥梁
  • Windows 10 上部署轻量级 Git 服务器:Bonobo Git Server 实战指南
  • 24-发布包被临时内容拖累-用资源日志隐私清单做提交前自查
  • FastGPT | 16 - 流式响应、节点响应与调试数据
  • Nginx valid_referer配置实战:从原理到高可用CSRF防御方案
  • RunAsSpc实战:为AD域内特定软件创建免密提权快捷方式
  • C++ 核心数据结构 基础概念(一)
  • LabVIEW界面设计进阶:从扁平化到动态交互的实战指南
  • Obsidian笔记加密实战:用Meld Encrypt插件构建隐私安全体系
  • YOLOv11在树莓派上的推理优化:CPU速度提升43%是怎么做到的?
  • 【网络】从命令行到图形化:盘点跨平台局域网设备扫描的N种姿势
  • AI生成C++代码的10个真实工程案例与避坑指南
  • Postman请求HTTPS失败?从浏览器复制cURL一键诊断与修复
  • C++神经网络推理环境搭建:从ONNX Runtime到工程实践全解析
  • 状态机设计实战:从原理到FPGA/CPLD三段式实现与调试
  • 《GraphRAG 核心实战:从 Leiden 算法到层级化摘要,构建 AI 的“上帝视角”》
  • 巧用散点图辅助列:在Excel中实现横轴日期不等距的柱状图
  • 万亿富豪推文:完成安全审查后 [特殊字符] 代码库将全开源,还提及算法问题
  • TVM 0.22 手动编译实战:AI编译器构建原理与硬件适配指南
  • 计算机毕业设计之jsp校园网上点餐系统的设计与实现
  • 计算机保研实战复盘:从中科大、北航到成电的“三无”选手突围策略
  • 基于libzmq与JSON的轻量级C++ RPC框架设计与实现
  • 微信小程序版看图猜成语完整项目:Python Flask后端 + 小程序前端源码
  • C++内存管理进阶:从RAII到智能指针的工程实践