本文来源电子发烧友社区,作者:枫雪天, 帖子地址:https://bbs.elecfans.com/jishu_2032698_1_1.html
工欲善其事,必先利其器。在正式开始开发之前,我们先学习开发环境的搭建。
由于目前仍在早期,Harmony OS的开发环境需要依赖Linux的编译环境,相对于一些只需要在Windows上安装一个IDE的环境略复杂,但是对于绝大部分开发者来说,门槛还是相对比较低的。并且官方考虑到初学者安装环境的不便,发布了包含开发环境的Docker安装包和虚拟机镜像,使得环境的搭建更为方便。
由于在论坛看到的大部分开发者使用的环境都是在Windows上安装Docker或虚拟机,这样的好处是方便,只在一台电脑上就可以完成开发,但同时也有一些不足,无论是Docker还是虚拟机,只要在Windows系统上运行Linux,本质上都是需要在底层进行虚拟化的,这样会带来Linux系统性能的下降。因此,对于手上已经有Linux物理机或服务器资源的开发者来说,不妨直接在Linux物理机或者服务器上安装Docker环境,以获得更快的编译速度。
接下来,我会详细列出在Linux上搭建Docker开发环境的步骤,使用的基础环境为Ubuntu 16.04。
第一部分,在Linux上安装Docker。
1. 添加 Docker的官方 GPG 密钥
复制代码
3. 使用apt-get安装Docker
复制代码
第二部分,拉取并启动Docker仓库
经过以上步骤,Linux系统就可以使用Docker了,接下来,我们为开发环境设置目录
1. 创建Docker路径,我使用的路径是/home/matrix/Codes/OHOS/code
2. 拉取官方仓库并启动Docker
复制代码
这段命令比较长,我们分解一下
sudo docker run:以管理员身份启动Docker仓库
--env BOARD=wifiiot:传入环境变量BOARD=wifiiot
-it:以交互模式运行,并打开一个tty终端
--name hm_build:仓库名
-v "/home/matrix/Codes/OHOS/code:/mnt":指定运行路径
walker2048/hm_build:slim_iot:仓库名和标签

第三部分,在Docker仓库内完善编译环境
由于当前提供的docker仓库内只提供了Python和Scons,所以在第一次进入docker时,会显示如下输出。

所以仍需要我们继续安装剩余的工具,好在官方已经提供了默认的安装脚本,只需要执行setupEnv,就可以自动安装其他的工具。
当其他工具安装完成后,再次使用checkEnv命令检查开发环境,安装正常情况下会有如下输出。

我们在buildtools目录下使用命令hmBuildStart执行首次编译,经过一段时间的编译后,会输出成功信息。

至此,基于Linux的Docker开发环境就全部搭建完成了。
工欲善其事,必先利其器。在正式开始开发之前,我们先学习开发环境的搭建。
由于目前仍在早期,Harmony OS的开发环境需要依赖Linux的编译环境,相对于一些只需要在Windows上安装一个IDE的环境略复杂,但是对于绝大部分开发者来说,门槛还是相对比较低的。并且官方考虑到初学者安装环境的不便,发布了包含开发环境的Docker安装包和虚拟机镜像,使得环境的搭建更为方便。
由于在论坛看到的大部分开发者使用的环境都是在Windows上安装Docker或虚拟机,这样的好处是方便,只在一台电脑上就可以完成开发,但同时也有一些不足,无论是Docker还是虚拟机,只要在Windows系统上运行Linux,本质上都是需要在底层进行虚拟化的,这样会带来Linux系统性能的下降。因此,对于手上已经有Linux物理机或服务器资源的开发者来说,不妨直接在Linux物理机或者服务器上安装Docker环境,以获得更快的编译速度。
接下来,我会详细列出在Linux上搭建Docker开发环境的步骤,使用的基础环境为Ubuntu 16.04。
第一部分,在Linux上安装Docker。
1. 添加 Docker的官方 GPG 密钥
复制代码
2. 设置Docker仓库源- sudo add-apt-repository
- "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/
- $(l***_release -cs)
- stable"
- sudo apt-get install docker-ce docker-ce-cli containerd.io
经过以上步骤,Linux系统就可以使用Docker了,接下来,我们为开发环境设置目录
1. 创建Docker路径,我使用的路径是/home/matrix/Codes/OHOS/code
2. 拉取官方仓库并启动Docker
- sudo docker run --env BOARD=wifiiot -it --name hm_build -v "/home/matrix/Codes/OHOS/code:/mnt" walker2048/hm_build:slim_iot
sudo docker run:以管理员身份启动Docker仓库
--env BOARD=wifiiot:传入环境变量BOARD=wifiiot
-it:以交互模式运行,并打开一个tty终端
--name hm_build:仓库名
-v "/home/matrix/Codes/OHOS/code:/mnt":指定运行路径
walker2048/hm_build:slim_iot:仓库名和标签

第三部分,在Docker仓库内完善编译环境
由于当前提供的docker仓库内只提供了Python和Scons,所以在第一次进入docker时,会显示如下输出。

所以仍需要我们继续安装剩余的工具,好在官方已经提供了默认的安装脚本,只需要执行setupEnv,就可以自动安装其他的工具。
当其他工具安装完成后,再次使用checkEnv命令检查开发环境,安装正常情况下会有如下输出。

我们在buildtools目录下使用命令hmBuildStart执行首次编译,经过一段时间的编译后,会输出成功信息。

至此,基于Linux的Docker开发环境就全部搭建完成了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
15文章
2466浏览量
130046 -
HarmonyOS
+关注
关注
80文章
2157浏览量
36294 -
HiSpark
+关注
关注
1文章
156浏览量
7800
发布评论请先 登录
相关推荐
热点推荐
芯科科技低功耗Wi-Fi开发指南
Silicon Labs(芯科科技)整理并制作了低功耗Wi-Fi开发指南的网站资源,以帮助开发人员使用低功耗 Wi-Fi 6协议进行下一代物联网产品
技术资讯 I Wi-Fi 模块设计
本文要点Wi-Fi模块设计旨在打造一套紧凑且高效的硬件和软件解决方案,使设备能够通过Wi-Fi网络实现通信。Wi-Fi模块设计是一个复杂的过程,要求研发人员兼具硬件与软件工程方面的专业知识
LitePoint与联发科技携手开发Wi-Fi 8技术测试方案
2026年1月13日,全球无线测试解决方案提供商LitePoint宣布,与联发科技携手开发Wi-Fi 8技术测试方案。此次合作将协助产品开发商加速Wi-Fi 8产品的设计验证与量产,聚
Wi-Fi:无线连接的全球通用语
Wi-Fi功能,跨品牌、跨设备互联互通性强,生态完整。3. 灵活部署,易于扩展支持星型、Mesh等多种组网方式,可根据环境灵活布置接入点,扩大覆盖范围。4. 技术持续演进从802.11a/b/g到
发表于 01-07 09:49
Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法
了 Wi-Fi 6 功能,帮助开发人员创建高性能、高能效的Wi-Fi 6 物联网解决方案。
基于 Nordic 的 nRF7002 Wi-Fi 协同 IC,nRF7002 EBII帮助
发表于 12-10 11:58
Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略
:选择用模块的理由: 是为了方便电路集成设计,特别是硬件兼容集成设计,这样只要产品前期做好了综合设计,后续做产品设计以及应用端的灵活选择,提供了很大的便利,省得重复设计硬件,缩短开发周,加快将产品推向市场的时间; 二:Wi-Fi模块选型注意点
浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术
作者: Qorvo 亚太区无线连接事业部高级行销经理林健富 2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
发表于 09-19 18:29
•2476次阅读
基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较
是一种著名的无线网络技术,用于设备的局域网和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。
Wi-Fi 定位是一种地理定位功能
发表于 08-31 21:01
LitePoint Wi-Fi测试软件减轻客户设计负担
自Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
Texas Instruments CC335x SimpleLink™双频Wi-Fi® 6配套IC数据手册
) 和Wi-Fi 5 (802.11ac)。这些CC335x是Texas Instruments的第10代连接组合芯片。因此,CC335x基于成熟的技术设计而成。这些器件非常适合配备运行TCP/IP的Linux或
如何选择合适的芯科科技Wi-Fi开发板
您正在寻找适用于超低功耗物联网应用项目的Wi-Fi 开发板吗?本文将介绍Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗蓝牙5.4解决方案的Wi-Fi
芯科科技推出新款Wi-Fi 6开发套件SiWG917Y
问问任何一位Wi-Fi开发者,他们工作中最困难的部分是什么?你很可能会听到这样的回答:“设计天线以及应对全球射频(RF)法规认证。” 因应这一挑战,Silicon Labs (芯科
BW20双频WiFi模块,可支持Wi-Fi Mesh 组网:二次开发环境搭建教程
连接一个SSID就可以完成配网,不仅简化了配网流程,也提升了配网成功率。 BW20系列模组 是安信可科技基于RTL8711 系列芯片开发的双频Wi-Fi +BLESoC 模组,支持双频(2.4 GHz
迅通PTR7002 Wi-Fi 6模块技术解析
在物联网设备对无线连接性能要求日益严苛的背景下,迅通推出的PTR7002 Wi-Fi 6模块凭借其技术特性成为开发者关注的硬件方案。本文将从芯片架构、射频性能及开发支持等维度进行深度剖析
发表于 06-10 10:38
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】搭建基于Linux的Docker开发环境
评论