Windows搭建OpenHarmony编译环境
创始人
2025-06-29 01:31:26
0

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

由于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搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

点击“启用或关闭Windows功能”,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

勾选“Hyper-V”选项,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

勾选“适用于Linux的Windows子系统”和“虚拟机平台”选项,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区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编译环境-开源基础软件社区

点击“高级” => “环境变量”,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

选中“Path”,点击“编辑”按钮,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

点击“新建”按钮,将docker可执行程序目录放入,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区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编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

重启VSCode。
点击docker图标,可以查看所有的docker容器,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

选择“Containers” => “swr.cn-…”,右击,选择“Start”选项,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

选择“Containers” => “swr.cn-…”,右击,选择“Attach Shell”选项,具体如下所示:

Windows搭建OpenHarmony编译环境-开源基础软件社区Windows搭建OpenHarmony编译环境-开源基础软件社区

终端进入OpenHarmony镜像中,具体如下所示:

Windows搭建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目录下。

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...