HarmonyOS智慧农业管理应用开发教程--高高种地---第1篇:项目初始化与环境搭建
完成本教程后,你将能够成功创建并运行一个基础的 HarmonyOS 项目。
第1篇:项目初始化与环境搭建
教程目标
通过本篇教程,你将学会:
- 安装和配置 DevEco Studio 开发环境
- 配置 HarmonyOS SDK
- 创建 HarmonyOS 应用项目
- 理解项目结构
- 配置应用权限
完成本教程后,你将能够成功创建并运行一个基础的 HarmonyOS 项目。
一、开发环境准备
1.1 系统要求
操作系统:
- Windows 10/11 (64位)
- macOS 10.14 或更高版本
- Ubuntu 18.04 或更高版本
硬件要求:
- 内存:8GB 以上(推荐 16GB)
- 硬盘:至少 10GB 可用空间
- 处理器:Intel i5 或更高
1.2 下载 DevEco Studio
- 访问华为开发者联盟官网:https://developer.harmonyos.com/
- 进入"开发工具"页面
- 下载最新版本的 DevEco Studio(本教程基于 5.0+ 版本)
下载地址:https://developer.huawei.com/consumer/cn/download/
1.3 安装 DevEco Studio
Windows 安装步骤:
- 双击下载的安装包
deveco-studio-x.x.x.exe - 选择安装路径(建议不要包含中文和空格)
- 勾选"Add to PATH"选项
- 点击"Install"开始安装
- 安装完成后,点击"Finish"
macOS 安装步骤:
- 打开下载的
.dmg文件 - 将 DevEco Studio 拖拽到 Applications 文件夹
- 首次打开时,可能需要在"系统偏好设置 → 安全性与隐私"中允许运行
Linux 安装步骤:
# 解压安装包
tar -zxvf deveco-studio-x.x.x.tar.gz
# 进入安装目录
cd deveco-studio/bin
# 运行安装脚本
./studio.sh
二、首次启动配置
2.1 启动 DevEco Studio
首次启动时,会进入配置向导:
- 导入设置:如果是首次安装,选择"Do not import settings"
- 用户协议:阅读并同意用户协议
- 数据共享:根据个人意愿选择是否共享数据
2.2 配置 SDK
- 在欢迎界面,点击"Configure" → “Settings”
- 进入"SDK Manager"
- 配置 SDK 路径(建议使用默认路径)
SDK 组件选择:
- ✅ HarmonyOS SDK (API 17+)
- ✅ HarmonyOS SDK Platform-Tools
- ✅ HarmonyOS SDK Build-Tools
- ✅ HarmonyOS Emulator
- 点击"Apply"开始下载和安装 SDK
- 等待下载完成(可能需要较长时间,取决于网络速度)
2.3 配置 Node.js 和 ohpm
DevEco Studio 会自动配置 Node.js 和 ohpm(OpenHarmony Package Manager)。
验证安装:
# 打开终端,输入以下命令验证
node --version
ohpm --version
三、创建项目
3.1 创建新项目
- 在 DevEco Studio 欢迎界面,点击"Create Project"
- 选择项目模板:
- 选择"Application"
- 选择"Empty Ability"模板
- 点击"Next"
3.2 配置项目信息
在项目配置页面,填写以下信息:
基本信息:
- Project name:
ZhongZhiGuanJia(种植管家) - Bundle name:
com.leson.zhongdi - Save location: 选择项目保存路径(建议不包含中文)
项目配置:
- Compile SDK: API 17 或更高
- Model: Stage
- Language: ArkTS
设备类型:
- ✅ Phone(手机)
- ✅ Tablet(平板)
点击"Finish"创建项目。
3.3 等待项目初始化
创建项目后,DevEco Studio 会自动:
- 生成项目结构
- 下载依赖包(通过 ohpm)
- 构建项目索引
注意:首次创建项目可能需要较长时间下载依赖,请耐心等待。
四、项目结构解析
创建完成后,你会看到以下项目结构:
ZhongZhiGuanJia/
├── AppScope/ # 应用全局配置
│ ├── app.json5 # 应用配置文件
│ └── resources/ # 全局资源
├── entry/ # 主模块
│ ├── src/
│ │ ├── main/
│ │ │ ├── ets/ # ArkTS 源代码
│ │ │ │ ├── entryability/
│ │ │ │ │ └── EntryAbility.ets # 应用入口
│ │ │ │ └── pages/
│ │ │ │ └── Index.ets # 首页
│ │ │ ├── resources/ # 资源文件
│ │ │ └── module.json5 # 模块配置
│ │ └── ohosTest/ # 测试代码
│ └── build-profile.json5 # 构建配置
├── oh_modules/ # 依赖包(类似 node_modules)
├── build-profile.json5 # 全局构建配置
├── hvigorfile.ts # 构建脚本
├── oh-package.json5 # 依赖管理
└── oh-package-lock.json5 # 依赖锁定
4.1 关键文件说明
AppScope/app.json5
应用全局配置文件,定义应用的基本信息:
{
"app": {
"bundleName": "com.leson.zhongdi",
"vendor": "leson",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
entry/src/main/module.json5
模块配置文件,定义模块的能力、权限等:
{
"module": {
"name": "entry",
"type": "entry",
"description": "$string:module_desc",
"mainElement": "EntryAbility",
"deviceTypes": [
"phone",
"tablet"
],
"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:layered_image",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"skills": [
{
"entities": ["entity.system.home"],
"actions": ["ohos.want.action.home"]
}
]
}
]
}
}
entry/src/main/ets/entryability/EntryAbility.ets
应用入口文件,管理应用生命周期:
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
}
onWindowStageCreate(windowStage: window.WindowStage): void {
// 加载首页
windowStage.loadContent('pages/Index', (err) => {
if (err.code) {
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err));
return;
}
hilog.info(0x0000, 'testTag', 'Succeeded in loading the content');
});
}
}
entry/src/main/ets/pages/Index.ets
首页组件:
@Entry
@Component
struct Index {
@State message: string = 'Hello HarmonyOS';
build() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
}
}
五、配置应用权限
5.1 权限说明
我们的智慧农业应用需要以下权限:
| 权限 | 用途 | 权限等级 |
|---|---|---|
ohos.permission.INTERNET |
网络访问,获取地图数据 | normal |
ohos.permission.LOCATION |
精确定位,用于农田位置标记 | system_grant |
ohos.permission.APPROXIMATELY_LOCATION |
模糊定位,用于天气服务 | system_grant |
ohos.permission.GET_NETWORK_INFO |
获取网络状态 | normal |
5.2 配置权限
打开 entry/src/main/module.json5,在 module 节点下添加 requestPermissions 配置:
{
"module": {
"name": "entry",
"type": "entry",
// ... 其他配置
"requestPermissions": [
{
"name": "ohos.permission.INTERNET",
"reason": "$string:permission_internet_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
},
{
"name": "ohos.permission.LOCATION",
"reason": "$string:permission_location_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
},
{
"name": "ohos.permission.APPROXIMATELY_LOCATION",
"reason": "$string:permission_location_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
},
{
"name": "ohos.permission.GET_NETWORK_INFO",
"reason": "$string:permission_network_info_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
}
]
}
}
5.3 添加权限说明文本
打开 entry/src/main/resources/base/element/string.json,添加权限说明:
{
"string": [
{
"name": "permission_internet_reason",
"value": "需要网络权限以获取地图数据和在线资源"
},
{
"name": "permission_location_reason",
"value": "需要定位权限以标记农田位置和提供导航服务"
},
{
"name": "permission_network_info_reason",
"value": "需要获取网络状态以优化数据加载"
}
]
}
六、运行项目
6.1 配置模拟器
- 点击工具栏的"Device Manager"图标
- 点击"New Emulator"
- 选择设备类型(Phone 或 Tablet)
- 选择系统镜像(API 17+)
- 点击"Finish"创建模拟器
- 启动模拟器(首次启动可能需要较长时间)
6.2 运行应用
- 确保模拟器已启动
- 点击工具栏的"Run"按钮(绿色三角形)或按
Shift + F10 - 等待应用编译和安装
- 应用会自动在模拟器中启动
预期效果:
- 屏幕中央显示"Hello HarmonyOS"文本
- 应用正常运行,无崩溃
6.3 真机调试(可选)
如果你有 HarmonyOS 设备:
- 在设备上开启"开发者模式"
- 开启"USB 调试"
- 使用 USB 连接设备到电脑
- 在 DevEco Studio 中选择真机设备
- 点击"Run"运行应用
七、常见问题与解决方案
7.1 SDK 下载失败
问题:SDK 下载速度慢或失败
解决方案:
- 检查网络连接
- 配置代理(如果在公司网络环境)
- 使用华为镜像源
7.2 项目构建失败
问题:提示"Build failed"
解决方案:
- 清理项目:
Build → Clean Project - 重新构建:
Build → Rebuild Project - 检查
oh-package.json5依赖是否正确 - 删除
oh_modules文件夹,重新安装依赖
7.3 模拟器启动失败
问题:模拟器无法启动
解决方案:
- 检查 BIOS 是否开启虚拟化(VT-x/AMD-V)
- 确保内存充足(至少 4GB 可用)
- 重启 DevEco Studio
- 重新创建模拟器
八、项目初始化检查清单
完成本教程后,请确认以下内容:
- ✅ DevEco Studio 安装成功
- ✅ HarmonyOS SDK 配置完成
- ✅ 项目创建成功
- ✅ 项目结构清晰
- ✅ 权限配置完成
- ✅ 应用能够在模拟器或真机上运行
- ✅ 显示"Hello HarmonyOS"文本
九、下一步
恭喜你完成了第一篇教程!你已经成功搭建了 HarmonyOS 开发环境并创建了第一个项目。
在下一篇教程中,我们将学习:
- 应用架构设计
- TabBar 导航实现
- 页面路由配置
- 主题管理系统
准备工作:
- 熟悉项目结构
- 了解 ArkTS 基本语法
- 阅读 HarmonyOS 官方文档
参考资料
教程版本:v1.0
更新日期:2026-01
适用版本:DevEco Studio 5.0+, HarmonyOS API 17+
更多推荐


所有评论(0)