mac上搭建鸿蒙开发环境(2024)

时间:2024-04-09 11:11:09

开发环境

设备 MacBook Pro

芯片 Apple M1

系统 11.4

内存 16 GB

一、下载公开版本的DevEco Studio

华为官方目前对外提供的版本是DevEco Studio 3.1,可在官网下载https://developer.huawei.com/consumer/cn/deveco-studio/

因为目前还在学习阶段,先装一个开放版本的DevEco Studio 3.1试试。

选择对应电脑系统的压缩包。

解压后是一个dmg文件,拖拽将DevEco Studio 拷贝到应用程序

1.应用配置

打开应用后,选择agree

然后这里应该弹出一些setup弹窗,但是我走到这一步的时候没有弹出,后面打开DevEcoStudio的时候才弹。

按理说此处需要进行以下设置:

  • nodejs:Node.js版本要求为v14.19.1及以上,且低于v17.0.0,对应的npm版本要求为6.14.16及以上

  • ohpm:全称是:Open Harmony Package Manager 作为包管理和发布的标准,Haromony自研工具

  • sdk路径 PS:HarmonyOS SDK路径中不能包含中文字符

  • 为HDC端口号设置环境变量

  • 安装中间提示要先安装ohpm,下载ohpm并添加环境变量

如果跟我一样在这一步没有弹出弹窗的话,也不用着急,后面再进行配置也一样。

2.打开DevEcoStudio

点击create project,弹窗提示应用开发环境存在问题,运行诊断测试

诊断后发现我的nodejs,ohpm,sdk路径等没有设置,也就是缺失了上面提到的那步。

点击Set it up now,弹出设置弹窗。

这里看一下nodejs的版本要求,我电脑上的nodejs不符合要求,也为了避免版本问题,所以这里选择install,然后点击next

ohpm也选择install,然后点击next

然后是sdk设置

选择accept,然后点击next。

最后环境诊断是全绿色的状态就可以了。

3.工程配置

点击crreate project进入选择模版,选择第一个template,手机悬浮在上方的时候会显示可选择的设备,选择第一个。

进入工程配置界面

4.安装设备

点击no devices 点开device manager

然后安装模拟器,点击右下方的 + New Emulator,弹出选择硬件的窗口,点击 Next

进入选择 系统镜像的窗口,点击 Name 旁边的 下载按钮,进入下载 下载完成后,点击右下角的 Finish

安装完成,进入以下界面

点击finish

点击绿色按钮启动设备

遇到一个问题,点击之后没有反应

launch New_Device_from_Huawei_Phone timeout, Please manually confirm

查了一下这种情况

根据qemu.log、qemu-err.log、Emulator.log日志分析,是mac系统的版本太低导致。

系统版本不兼容,需要12.2以上

5.运行工程

设备选择刚才的模拟器,点击右侧运行按钮在模拟器上运行工程。

DevEco Studio 3.1是API9

在鸿蒙适配开发工作中,如果需要使用API11(API9支持的能力有限),API11版本目前还未公开,只有认证开发者能够下载使用,下面也介绍下载最新api版本套件的方法。

二、下载最新API版本的套件

认证华为开发者,下载开发套件

在官网用邮箱注册一个华为开发者账号;

https://developer.harmonyos.com/deveco-developer-suite/enabling/kit?currentPage=1&pageSize=100

然后再次点开这个链接,进入开发者认证,选择个人开发者,进行实名认证,认证需要2-3个工作日,实测快的话就三四个小时;

认证通过后,再次点开此链接,申请鸿蒙开发套件,也需要2-3工作日审批;

申请通过后,再次点开此链接,就会展示出各版本的开发套件,选择适合自己电脑版本的DevEcoStudio(仅需要下载 IDE,实际里面包含了 SDK 等工具)

解压刚才下载的文件后,点击dmg文件进行安装;

然后解压sdk,不要自行用zip工具解压,在DevEco Studio欢迎页面中,点击左下角的齿轮按钮,弹出框中选择Unzip,source path选择刚才文件中sdk文件夹中的sdk的zip包。

配置sdk路径

点击左上角 DevEco Studio 中,弹出框中选择 “Preferences”

将 HarmonyOS Location 配置为上一个步骤解压的目标位置