由于OpenHarmony的编译工具链主要是建立在Linux操作系统下,如需要编译OpenHarony内核则需要搭建虚拟机等工序,相对比较繁琐。那么,是否可以在Windows操作系统上实现对OpenHarmony编译呢?答案是:可以。所以,我们今天来尝试在Windows环境下搭建OpenHarmony编译环境。
本次OpenHarmony选用小凌派-RK2206开发板的代码仓:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts
1、下载并安装Docker Desktop
请小伙伴们到Docker官网下载最新的Docker Desktop。
官网网址:https://www.docker.com/products/docker-desktop/下载完毕后安装Docker Desktop(具体安装步骤不赘述)。
2、Windows开启Linux虚拟机平台
点击“开始” => 系统设置" => “应用” ,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
选择"应用和功能" => “程序和功能” ,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
点击“启用或关闭Windows功能”,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
勾选“Hyper-V”选项,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
勾选“适用于Linux的Windows子系统”和“虚拟机平台”选项,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
点击“确定”,重启Windows。
3、Windows安装WSL2
打开Power Shell,输入如下命令:
wsl --install
4、Docker配置PATH环境变量
将docker相关命令路径配置到PATH环境变量中。
docker安装路径一般是:C:\Program Files\Docker\Docker\resources\bin
右击“我的电脑” => “属性” => “关于” => “高级系统设置”,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
点击“高级” => “环境变量”,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
选中“Path”,点击“编辑”按钮,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
点击“新建”按钮,将docker可执行程序目录放入,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
点击“确定”,Windows重启。
5、获取Gitee代码
本次选用小凌派-RK2206的Gitee仓:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts将该Gitee仓下载到Windows中。本次案例存放于:G:\git\lockzhiner-rk2206-openharmony3.0lts-master
6、Docker编译
打开Power Shell命令窗口,执行如下命令。
(1)下载镜像
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
(2)开启容器
这里假设OpenHarmony主目录为G:\git\lockzhiner-rk2206-openharmony3.0lts-master),运行如下命令:
docker run -it -v G:\git\lockzhiner-rk2206-openharmony3.0lts-master:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
注意:上述“:”的前面字符串是本地OpenHarmony源代码主目录,需要根据OpenHarmony源代码主目录路径而改变。“:”后面为docker镜像的路径,不需要修改。
接下来,安装相关工具。
# 移动到容器内OpenHarmony主目录,注意容器中主目录变为/home/openharmony
cd /home/openharmony
# 下载编译工具
./build/prebuilts_download.sh
# 安装hb工具
pip3 install build/lite
最后,编译OpenHarmony。
hb set -root .
hb set
lockzhiner
lockzhiner-rk2206
选择lockzhiner-rk2206
hb build -f
编译出的目标文件在G:\git\lockzhiner-rk2206-openharmony3.0lts-master/out/rk2206/lockzhiner-rk2206/images目录下。
7、VSCode编译
启动VSCode,点击“扩展”按钮,输入“docker”,安装Docker插件。具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
重启VSCode。
点击docker图标,可以查看所有的docker容器,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
选择“Containers” => “swr.cn-…”,右击,选择“Start”选项,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
选择“Containers” => “swr.cn-…”,右击,选择“Attach Shell”选项,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
终端进入OpenHarmony镜像中,具体如下所示:
Windows搭建OpenHarmony编译环境-开源基础软件社区
如此,我们就可以编译OpenHarmony。
首先,安装OpenHarmoy相关工具。
# 移动到容器内OpenHarmony主目录,注意容器中主目录变为/home/openharmony
cd /home/openharmony
# 下载编译工具
./build/prebuilts_download.sh
# 安装hb工具
pip3 install build/lite
最后,编译OpenHarmony。
hb set -root .
hb set
lockzhiner
lockzhiner-rk2206
选择lockzhiner-rk2206
hb build -f
编译出的目标文件在G:\git\lockzhiner-rk2206-openharmony3.0lts-master/out/rk2206/lockzhiner-rk2206/images目录下。