[文章]Docker容器实现HarmonyOS编译环境(WifiIoT)--仅需3个步骤完成环境,1个步骤编译

阅读量0
0
2


前提描述:
    Docker是目前最新,也是最流行的虚拟机威廉希尔官方网站 。针对HarmonyOS编译环境对新手很难顺利上手的情况,制作了该docker镜像。(建议使用win10系统,最好是专业版
    不要998,不要668,只要9块钱,马上带回家。说错了,完全不需要懂Linux,不需要下载一套套软件(编译部分),也不需要半天一天的下载时间。简简单单3个步骤直接完成编译环境的搭建。也不需要理解和记忆什么命令,复制粘贴存好编译命令就完了。一次搭建,长期使用。

概念说明:
   虽然前面大话说得很玄乎,其实还是有几个东西需要说明清楚的。

   1、
docker镜像:docker镜像可以理解成网吧的无盘系统,本次使用的镜像是我自行制作的。在文章的最后也会挂出镜像编辑代码和制作方法(有兴趣的朋友可以了解一下,没兴趣的根本不需要看)。

   2、
docker容器:docker容器就是启动系统后的运行载体(速度比常规虚拟机快多了),容器中的内容是不会保存的。所以我们需要将外部系统的目录挂载到容器中,这样我们能简单方便的在Win下实现编辑和烧录功能,然后放心的把编译功能完全交给容器。

   3、源码目录:存放源代码的目录,同时也是Win下直接编辑源码的目录。第3步的脚本里有自动下载源码和解压功能,请大家不要自行下载源码。按本文步骤直接食用最为舒服。需要大家在D盘保留2G以上的空间(工具链及源码实际占用1.14G),不会占用太多硬盘。
   4、工具链:存放编译工具以及脚本的目录(buildtools),若大家使用git做代码版本管理,请将该文件夹设置为忽略。

搭建编译环境部分
--------------------------------------------------------------------------------------
好了,废话不多说,直接切入正题。
第一步去docker官网下载并安装主角--Docker下载链接
  1. https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe
复制代码

下载下来之后,没啥好说,狂点下一步,重启后主角自动启动。在任务栏双击小鲸鱼,在弹出的管理界面左下角的小圆图标是绿色的,旁边小字running就完成了。
-----
第二步在D盘新建一个code目录(有docker使用经验的同学也可以自行更换目录,将-v参数后的第一个绝对路径更换一下即可)

然后在powershell或者VScode终端命令行中输入以下内容。其中--env BOARD=wifiiot参数的意思是指定开发板为wifiiot,不清楚应该指定什么的可以删除该参数


这条命令可以用来启动容器,并体验Linux的酸爽快感,有兴趣的朋友可以存好

  1. docker run --env BOARD=wifiiot -it --rm --name build -v "d:/code:/mnt"  walker2048/hm_build

复制代码
这一步根据你的网络情况,有长有短,正常情况下2分钟左右是足够了。下载过程中也有进度条和提示。如果下载时间过长,请考虑更换docker源。


当命令行中出现类似以下内容时,就成功进入了Docker容器中。第二步就已经完成了。可喜可贺,可喜可贺,是不是很简单。

配置完毕.png


若命令行最后出现

Plese set BOARD Env! Use export BOARD=wifiiot | ipcamera_hi3516dv300 | ipcamera_hi3518ev300!
这样的字样,则是提示应设置开发板属性,可选属性为提示中以上3种之一
---
第三步:在刚才的命令行中输入setupEnv,即可自动完成下载和部署源码和工具链的工作(脚本会自动检测已安装的软件,并自动下载和解压)
配置环境.png





出现上面的类似提示则完成环境和源码的部署工作。

这时候先别急着退出或者关闭命令行窗口,编译还需要用到。如果需要退出容器,请在命令行中输入exit退出命令,退出后容器会自动删除(别担心源码和编译出来的固件,挂载在D盘目录,都是正常保存的)。

编译部分
---------------------------------------------------------------------------------------------------------------
1、未退出Docker容器命令行的情况下,容器设置了快捷命令,可以直接输入hmBuildStart开启编译的愉快旅程:
  1. hmBuildStart
复制代码


2、已退出Docker容器的情况下,以及日常编译使用以下命令
在命令行中输入以下命令(使用该命令会自动退出容器)
  1. docker run --env BOARD=wifiiot -it --rm --name build -v "d:/code:/mnt"  walker2048/hm_build hmBuildStart
复制代码
接下来有很多编译输出,wifiiot大概2分钟左右,摄像头板子要20多分钟,就能看到build success的提示啦。








解压包.png

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友