用VMWare虚拟机编译HarmonyOS 的Linux环境搭建

顺利拿到板子 , 开搞 , 第一步当然是环境搭建 。论坛的大大们早就为我们准备好了详细的攻略 。
笔者并没有一台独立的 Ubuntu 机器 , 于是在 Windows 上安装 VMWare 虚拟机作为编译 HarmonyOSLinux 环境 。
过程有些曲折 , 几次想要放弃 , 想直接伸手拿做好的 Ubuntu 镜像 , 不过坚持到最后还是成功了 。
现在想想虽然花的时间有点多 , 但也非常值得 , 让我对鸿蒙 OS 的结构和编译过程有了一个更加直观的认识 。下面讲一下过程中踩过的坑 , 希望帮助大家少走弯路 。
笔者的环境是 Ubuntu 16.0 , 运行在 VMWare 14 中 。物理机是 Windows10 。
01
Linux 的编译环境搭建
直接参考官方文档就好了(传送门):
https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998
各个工具的安装版本 , 推荐和文章中一致 , 实在不行高一点也可以 , 如果低了就有可能留下隐患 , 且很难排查 。
其中 SCons 不是很好下载 , 如果网络不好的 , 它的官方网站经常访问不到 。灵活运用下载工具 , 再拷贝进 Ubuntu 离线安装 。
02
源代码编译
推荐从镜像站点下载压缩文件 , 方便快捷 。关于源代码放在哪里 , 推荐按照官方说的放在 Ubuntu 中 , 用 Samba 等工具设置成共享目录 , 再从 Windows 访问 , 进行烧录和调试 。
我在一开始把源代码放在了 VMWare 提供的共享目录中 , 以为这样更加方便 , 发现在解压源代码的时候 , 提示了一堆错误 , 大意是无法创建软连接 。
我也没有太在意 , 结果编译时的错误一个接一个 。后来才了解到 , VMWare 的共享目录分区格式是 FAT32 , 不支持创建软连接操作 。
重新拷贝源码压缩包进 Ubuntu 并解压后 , 成功编译 。所以说还是老老实实的用 Samba 比较稳妥 。
Ubuntu 共享目录设置(原文章):
https://harmonyos.51cto.com/posts/943 ①输入如下命令:sudo apt-get install samba sudo apt-get install samba-common ②修改 samba 配置文件sudo vim /etc/samba/smb.conf在最后加入如下内容:[work]comment = samba home directorypath = /home/harmony/public = yesbrowseable = yespublic = yeswriteable = yesread only = novalid users = harmonycreate mask = 0777directory mask = 0777#force user = nobody#force group = nogroupavailable = yes ③保存退出后 , 输入如下命令 , 设置 samba 密码 , 建议 123456 即可:sudo smbpasswd -a harmony ④重启 samba 服务sudo service smbdrestart
⑤windows 映射
在文件夹路径输入虚拟机的 IP 地址访问一下试试 , 最后映射成网络驱动器即可 。
03
烧录
官方给的烧录方案是 Hiburn 或者 Jlink 。如果用 Hiburn 方式可以采用 DevEcoDeviceTool 中的集成功能 。
但笔者在使用 VSCode+DevEcoDeviceTool 时 , 总是提示“因为缺少 serialport 模块 , 无法刷新端口号下拉列表...” , 重新安装 serialport 也不能解决 。
最终在官方大大们的帮助下 , 改为直接用 Hiburn 工具烧录成功 。

用VMWare虚拟机编译HarmonyOS 的Linux环境搭建
文章插图

用VMWare虚拟机编译HarmonyOS 的Linux环境搭建
文章插图
烧录时需要注意一件事情 , 一般的操作流程是 , 设置好参数、串口号、选择烧录文件后 , 先不点 Connect , 勾选 Auto burn 即上电自动烧录 , 再点 Connect , 按一下板子上的 RST 按钮重新上电 , Hiburn 就会进行烧录了 。
这时如果想让板子跑起来 , 需要 Disconnect 一下 , 把 Auto burn 勾掉 , 再 Connect , 按 RST 按钮 , 就会看到串口打印的信息了 。
如下图:

用VMWare虚拟机编译HarmonyOS 的Linux环境搭建
文章插图
图中的 [DEMO] Hello Harmony!就是我在 HelloWorld.c 中打印的内容 。第一个 Hello World 程序就这样完成了 。
HarmonyOS 对大家来说都是一个比较新的东西 , 一步一个脚印才能掌握扎实 。这里把过程记录下来 , 希望对大家有所帮助 。
责任编辑:xj
原文标题:我在鸿蒙的第一个Hello World!
【用VMWare虚拟机编译HarmonyOS 的Linux环境搭建】 文章出处:【微信公众号:HarmonyOS技术社区】欢迎添加关注!文章转载请注明出处 。
.dfma {position: relative;width: 1000px;margin: 0 auto;}.dfma a::after {position: absolute;left: 0;bottom: 0;width: 30px;line-height: 1.4;text-align: center;background-color: rgba(0, 0, 0, .5);color: #fff;font-size: 12px;content: "广告";}.dfma img {display: block;}
用VMWare虚拟机编译HarmonyOS 的Linux环境搭建
文章插图

    推荐阅读