|
Docker容器实现HarmonyOS编译环境(WifiIoT)--仅需3个步骤完成环境,1个步骤编译,
本帖最后由 死龙 于 2020-10-21 17:52 编辑
前提描述:
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, https://desktop.docker.com/win/stable/Docker Desktop Installer.exe
下载下来之后,没啥好说,狂点下一步,重启后主角自动启动。在任务栏双击小鲸鱼,在弹出的管理界面左下角的小圆图标是绿色的,旁边小字running就完成了。
-----
第二步:
下载附件的压缩包,并直接解压缩到D盘根目录下(不熟悉docker命令的朋友请不要放其他地方,也不要改文件名)。
解压缩完成后,在powershell或者VScode终端命令行中输入以下内容
这条命令可以用来启动容器,并体验Linux的酸爽快感,有兴趣的朋友可以存好
- docker run -it --rm --name build -v “D:/code:/mnt“ walker2048/hm_build:slim_iot
复制代码 这一步根据你的网络情况,有长有短,正常情况下2分钟左右是足够了。下载过程中也有进度条和提示。如果下载时间过长,请考虑更换docker源。
当命令行中出现类似以下内容时,就成功进入了Docker容器中。第二步就已经完成了。可喜可贺,可喜可贺,是不是很简单。
复制代码 ---
第三步:在刚才的命令行中输入setupEnv,即可自动完成下载和部署源码和工具链的工作
配置环境.png (433.01 KB, 下载次数: 0)
下载附件 保存到相册
2 小时前 上传
解压包.png (41.47 KB, 下载次数: 0)
下载附件 保存到相册
2 小时前 上传
出现上面的类似提示则完成环境和源码的部署工作。
这时候先别急着退出或者关闭命令行窗口,编译还需要用到。如果需要退出容器,请在命令行中输入exit退出命令,退出后容器会自动删除(别担心源码和编译出来的固件,挂载在D盘目录,都是正常保存的)。
编译部分
---------------------------------------------------------------------------------------------------------------
1、
未退出Docker容器命令行的情况下,容器设置了快捷命令,可以直接输入buildwifi开启编译的愉快旅程:
- root@7615ce3405c8:/mnt# buildwifi
复制代码
2、
已退出Docker容器的情况下,以及日常编译使用以下命令
在命令行中输入以下命令(使用该命令会自动退出容器)
- docker run -it --rm --name build -v “D:/code:/mnt“ walker2048/hm_build:slim_iot python build.py wifiiot
复制代码 接下来有很多编译输出,大概2分钟左右,就能看到build success的提示啦。 |
|