HarmonyOS 开发环境配置指南 - macOS 版

系统要求

硬件要求

  • 内存:8GB RAM(推荐 16GB)
  • 硬盘:至少 10GB 可用空间
  • 处理器:Intel 或 Apple Silicon (M1/M2/M3)

软件要求

  • macOS 版本:10.15 (Catalina) 或更高版本
  • Xcode:建议安装最新版本(用于 iOS 相关开发)

安装 DevEco Studio

1. 下载 DevEco Studio

访问华为开发者官网下载最新版本:

bash 复制代码
https://developer.harmonyos.com/cn/develop/deveco-studio

2. 安装步骤

  1. 双击下载的** **.dmg 文件
  2. 将 DevEco Studio 拖动到 Applications 文件夹
  3. 首次打开时,可能需要在** **系统偏好设置 > 安全性与隐私 中允许运行

3. 初始化配置

首次启动 DevEco Studio 时:

bash 复制代码
# 选择安装路径(建议使用默认路径)
~/Library/Huawei/DevEcoStudio4.0

# SDK 默认安装路径
~/Library/Huawei/Sdk

环境变量配置

1. 确定 Shell 类型

bash 复制代码
# 查看当前使用的 Shell
echo $SHELL

# 如果输出 /bin/zsh,编辑 ~/.zshrc
# 如果输出 /bin/bash,编辑 ~/.bash_profile

2. 配置环境变量

使用 Zsh (macOS Catalina 及以后版本默认)

bash 复制代码
# 打开配置文件
nano ~/.zshrc

# 或使用 vim
vim ~/.zshrc

添加以下内容:

bash 复制代码
# HarmonyOS SDK 环境变量
export HARMONYOS_HOME=~/Library/Huawei/Sdk
export HOS_SDK_HOME=$HARMONYOS_HOME/HarmonyOS-NEXT-DB6

# HDC 工具路径
export HDC_HOME=$HOS_SDK_HOME/base/toolchains
export PATH=$PATH:$HDC_HOME

# Node.js 路径(DevEco Studio 内置)
export DEVECO_NODE_HOME=~/Library/Huawei/DevEcoStudio4.0/tools/node
export PATH=$PATH:$DEVECO_NODE_HOME/bin

# OHPM 包管理器路径
export OHPM_HOME=~/Library/Huawei/DevEcoStudio4.0/tools/ohpm
export PATH=$PATH:$OHPM_HOME/bin

# Java 环境(如果 DevEco Studio 自带)
export JAVA_HOME=~/Library/Huawei/DevEcoStudio4.0/jbr
export PATH=$PATH:$JAVA_HOME/bin

使用 Bash

bash 复制代码
# 打开配置文件
nano ~/.bash_profile

添加相同的环境变量内容。

3. 使配置生效

bash 复制代码
# 对于 zsh
source ~/.zshrc

# 对于 bash
source ~/.bash_profile

SDK 配置

1. 打开 SDK Manager

在 DevEco Studio 中:

  • 菜单栏:DevEco Studio > Preferences (或按** **⌘,)
  • 选择** **HarmonyOS SDK

2. 安装必要组件

确保安装以下组件:

markdown 复制代码
✅ HarmonyOS SDK
  ├── API Version 9 (推荐)
  ├── API Version 10
  └── API Version 11 (最新)

✅ SDK Tools
  ├── Toolchains
  ├── Previewer
  └── System-image (用于模拟器)

✅ SDK Platforms
  └── 选择目标设备平台

3. 配置 SDK 路径

bash 复制代码
# 默认 SDK 路径
~/Library/Huawei/Sdk

# 可以在 Preferences 中自定义路径

验证安装

1. 验证环境变量

bash 复制代码
# 检查 HarmonyOS 环境变量
echo $HARMONYOS_HOME
# 输出:/Users/[用户名]/Library/Huawei/Sdk

# 检查 HDC 工具
hdc version
# 输出:HDC Version: x.x.x

# 检查 OHPM
ohpm -v
# 输出:ohpm version x.x.x

# 检查 Node.js
node -v
# 输出:v14.x.x 或更高版本

2. 创建测试项目

bash 复制代码
# 使用命令行创建项目(可选)
ohpm init hello-harmony

# 或在 DevEco Studio 中创建
# File > New > Create Project

3. 运行设备检测

bash 复制代码
# 列出已连接设备
hdc list targets

# 查看设备信息
hdc shell getprop ro.product.model

常见问题

Q1: 权限问题

bash 复制代码
# 如果遇到权限错误,修改文件权限
chmod +x ~/Library/Huawei/DevEcoStudio4.0/bin/devecostudio.sh

Q2: Apple Silicon (M1/M2/M3) 兼容性

bash 复制代码
# 安装 Rosetta 2(如果需要)
softwareupdate --install-rosetta --agree-to-license

Q3: 环境变量不生效

bash 复制代码
# 检查是否在正确的配置文件
# macOS Catalina 后默认使用 zsh
cat /etc/shells

# 确保配置文件语法正确
zsh -n ~/.zshrc

Q4: SDK 下载慢

配置镜像源:

bash 复制代码
# 在 DevEco Studio 设置中配置华为镜像
https://repo.huaweicloud.com/harmonyos

Q5: 模拟器无法启动

bash 复制代码
# 检查虚拟化是否开启
sysctl -a | grep machdep.cpu.features | grep VMX

# 清理模拟器缓存
rm -rf ~/Library/Huawei/Sdk/emulator/cache

进阶配置

配置别名(可选)

在** ~/.zshrc **~/.bash_profile 中添加:

bash 复制代码
# DevEco Studio 快捷启动
alias deveco="open -a 'DevEco Studio'"

# HDC 常用命令别名
alias hdc-devices="hdc list targets"
alias hdc-install="hdc app install"
alias hdc-log="hdc shell hilog"

# 快速进入项目目录
alias harm-proj="cd ~/HarmonyProjects"

配置代理(如需要)

bash 复制代码
# HTTP 代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

# Git 代理(用于下载依赖)
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

更新维护

更新 DevEco Studio

bash 复制代码
# 检查更新
# DevEco Studio > Check for Updates

# 或手动下载最新版本替换

更新 SDK

bash 复制代码
# 通过 SDK Manager 更新
# DevEco Studio > Preferences > HarmonyOS SDK > Check Now

清理旧版本

bash 复制代码
# 清理旧的 SDK 版本
rm -rf ~/Library/Huawei/Sdk/HarmonyOS-[旧版本]

# 清理缓存
rm -rf ~/Library/Caches/Huawei/DevEcoStudio*

相关资源


最后更新时间 :2024年12月 适用版本:DevEco Studio 4.0+, HarmonyOS SDK API 9+

相关推荐
写不来代码的草莓熊4 小时前
vue前端面试题——记录一次面试当中遇到的题(10)
前端·vue.js·面试
tiantian_cool4 小时前
正确的 .gitignore 配置
前端·github
三小河4 小时前
封装 classNames:让 Tailwindcss 类名处理更优雅
前端·javascript
起这个名字4 小时前
ESLint 导入语句的分组排序
前端·javascript
踩着两条虫4 小时前
VTJ.PRO低代码快速入门指南
前端·低代码
Lazy_zheng4 小时前
一场“数据海啸”,让我重新认识了 requestAnimationFrame
前端·javascript·vue.js
crary,记忆4 小时前
MFE: React + Angular 混合demo
前端·javascript·学习·react.js·angular·angular.js
Asort4 小时前
JavaScript设计模式(十七)——中介者模式 (Mediator):解耦复杂交互的艺术与实践
前端·javascript·设计模式
linda26184 小时前
String() 和 .toString()的区别
前端·javascript·面试