本文来源电子发烧友社区,作者:枫雪天, 帖子地址: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 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
+关注
关注
14文章
2106浏览量
124310 -
HarmonyOS
+关注
关注
79文章
1967浏览量
30004 -
HiSpark
+关注
关注
1文章
156浏览量
6901
发布评论请先 登录
相关推荐
Wi-Fi 7与Wi-Fi 6E有什么区别
也许很多人还在考虑是否要将使用的Wi-Fi设备升级到Wi-Fi 6或Wi-Fi 6E,而这些标准的继任者却已经开始“登堂入室”了。Wi-Fi 7是新一代
DA16600 超低功耗 Wi-Fi + 蓝牙低功耗模块开发套件数据手册
电子发烧友网站提供《DA16600 超低功耗 Wi-Fi + 蓝牙低功耗模块开发套件数据手册.rar》资料免费下载
发表于 05-31 17:51
•4次下载
DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册.rar》资料免费下载
发表于 05-30 17:53
•1次下载
DA16200 超低功耗 Wi-Fi 模块开发套件数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件数据手册.rar》资料免费下载
发表于 05-30 17:13
•0次下载
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
Wi-Fi的诞生与发展
短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
Wi-Fi HaLow和传统Wi-Fi的区别
Wi-Fi HaLow和传统Wi-Fi的区别 Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi
康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?
想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。
浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。
在
发表于 01-22 06:19
Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?
Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。Wi-Fi
什么是2.4 GHz Wi-Fi? 如何提升2.4 GHz Wi-Fi的性能?
GHz Wi-Fi现在还有用吗? 2.4 GHz Wi-Fi是一种无线通信技术,通过使用2.4 GHz频段的无线电波来传输数据。它是目前最常见的Wi-Fi频段之一,并且被广泛用于家庭和办公
评论