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

开发环境

设备 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 配置为上一个步骤解压的目标位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/526020.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony实战:轻量系统STM32F407芯片移植案例

介绍基于STM32F407IGT6芯片在拓维信息Niobe407开发板上移植OpenHarmony LiteOS-M轻量系统,提供交通、工业领域开发板解决方案。 移植架构采用Board与SoC分离方案,使用arm gcc工具链Newlib C库,实现了lwip、littlefs、hdf等子系统及组件的适配…

循序表实战——基于循序表的通讯录

前言:本篇文章主要是利用顺序表作为底层, 实现一个通讯录。偏向于应用, 对于已经学习过c的友友们可能没有难度了已经。没有学习过c的友友, 如果顺序表不会写, 或者说没有自己实现过, 请移步学习顺序表相关内…

xgo: golang基于-toolexec实现猴子补丁

注: 转载请注明出处, 原文链接。 概述 在这篇博客中,我将详细介绍 xgo 的实现细节。 如果你不知道,xgo 项目位于 https://github.com/xhd2015/xgo。 它的作用很简单,就是在每个 Go 函数的开头添加拦截器&#xff0…

python-面向对象编程

面向对象编程 面向对象,python中支持两种编程方式,来写代码,分别是:函数式编程和面向对象 函数式: # 定义函数,在函数中实现功能 def func():print("一个NB的功能")面向对象 calss FOO(object):d…

git提交代码时报错,提不了

问题 今天在换了新电脑,提交代码时报错 ✖ eslint --fix found some errors. Please fix them and try committing again. ✖ 21 problems (20 errors, 1 warning) husky > pre-commit hook failed (add --no-verify to bypass) 解决 通过 --no-verify 解决&…

JavaScript - 请你说一说对随机数的理解

难度级别:初级及以上 提问概率:40% 在前端开发中,随机数的应用场景非常多,而且也是一个常见的考点。例如网页登录的验证码,看似只有4个随机数字加字母的组合,其实这也是随机数的范畴;例如在抽奖算法中,可以用随机数确定用户中奖的概率…

解决电脑无故自动关机或重启的15种方法,总有一种适合你

序言 你的Windows PC是否在没有警告的情况下关闭或重新启动?这背后有几个潜在的原因。例如,它可能是软件/硬件冲突、过热或硬盘驱动器错误。本故障排除指南将概述在Windows 10/11中修复自动关闭和重新启动的多个解决方案。 如果你的计算机经常关闭,则必须在安全模式下启动…

如何实现异地公网环境访问本地部署的支付宝沙箱环境调试支付SDK

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Flutter如何集成到已有iOS工程上

大家好,我是咕噜铁蛋,今天我将和大家分享一个实用的技术教程——如何将Flutter集成到已有的iOS工程中。Flutter是Google推出的一款开源的移动UI框架,它允许开发者使用Dart语言来开发高性能、美观的原生应用,并支持iOS和Android两大…

DLDP简介

定义 设备链路检测协议DLDP(Device Link Detection Protocol)用来监控光纤或铜质双绞线(例如超五类双绞线)的链路状态。如果发现单向链路存在,DLDP协议会根据用户配置,自动关闭或通知用户手工关闭相关接口…

ai绘画软件有哪些?这几款宝藏AI绘图别错过

今天我要和你们分享一些令人兴奋的AI绘画软件。这些软件不仅能够让你的创作过程更加有趣,还能帮助你提升绘画技巧。快来看看吧! 首先,我们来介绍一款备受推崇的软件——【爱制作AI】。 爱制作AI是国内专业的AI原创内容写作平台,结…

JavaScript - 你知道Ajax的原理吗?如何封装一个Ajax

难度级别:中高级及以上 提问概率:75% 想要实现Ajax,就需要创建它的核心通信对象XMLHttpRequest,通过核心对象的open方法与服务端建立连接,核心对象的send方法可以将请求所需数据发送给服务端,服务端接收到请求并做出响应,我们通过核心对象…

技术再度取得优势,人工智能兴起推动需求,美芯涨价收割市场,收割中国制造?...

独家首发 ------------- 分析机构指出一季度全球存储芯片涨价了15%左右,而近期三星半导体预测全球存储芯片的价格还将继续上涨,预计二季度至少上涨两成,显示出美系芯片在忍受了一年多的亏损之后再度联手涨价。 2022年中国存储芯片取得了重大进…

2024/4/2—力扣—最小高度树

代码实现: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ struct TreeNode* buildTree(int *nums, int l, int r) {if (l > r) {return NULL; // 递归出口}struct…

戴维贝拉×实在智能丨RPA助力商家线上线下一体化运营,关键指标可随时查看!

戴维贝拉(dave&bella)创立于2011年,是杭州日冠服饰有限公司旗下婴幼服饰品牌,至今已立足服装业10余年。2012年,戴维贝拉就已经成为电商销售国内前十的品牌。2021年双十一,戴维贝拉再次以傲人的战绩稳居…

GIS与数字孪生共舞,打造未来智慧场景

作为一名数字孪生资深用户,近日我深刻理解到GIS(地理信息系统)在构建数字孪生体中的关键作用。 数字孪生技术旨在构建现实世界的虚拟镜像,而GIS则是这一镜像中不可或缺的空间维度框架和导航灯塔。数字孪生的核心是通过数字化方式…

数据结构---绪论

一、绪论: 1.什么是数据? 数据是信息的载体,是描述客观事物属性的数,字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素--描述一个个体 数据元素,数据项&am…

开源AI程序员SWE-Agent的实现方法

1 引子 前几天,AI 编程机器人 Devin 引起了热议。传言称:程序员的饭碗就要丢了。这两天,一个类似功能的产品 SWE-Agent 开源,在 SWE-Bench 上实现了与 Devin 类似的效果。下面让我们来看看 AI 程序员的具体实现方法。 2 信息 地…

Redis(字典hash表)

字典也可以称为Map、关联数组、映射、符号表。字典表在C语言中没有实现,所以Redis知己实现了字典。 在字典中一个key对应一个value。key是唯一的。这些关联的键和值称为键值对。 ​ 字典的应用非常广泛,Redis数据库的底层实现就是字典,对数据…

vue+springboot多角色登录

①前端编写 将Homeview修改为manager Manager&#xff1a; <template><div><el-container><!-- 侧边栏 --><el-aside :width"asideWidth" style"min-height: 100vh; background-color: #001529"><div style"h…