2. 开发环境搭建(上):安装虚拟机、配置 Ubuntu 20.04 系统、安装必要的开发工具
说实话,做 OpenHarmony 南向开发,第一步不是写代码,而是搭环境。很多新手一上来就急着编译源码,结果被各种依赖问题卡住,一卡就是半天。我刚开始接触鸿蒙时也踩过这个坑——环境没配好,折腾了两天才跑通第一个 Hello World。
这一章,咱们先把地基打牢。我会带你一步步装好虚拟机、配好 Ubuntu 20.04,再把 Git、Python、SCons 这些必备工具装齐。跟着我的节奏来,别跳步。
2.1 为什么选虚拟机?
你可能会问:为什么不用双系统?或者直接装 Windows 版?
我的建议是:虚拟机最省心。原因有三:
- 隔离性好:编译环境搞坏了,删掉重来,不影响宿主机
- 快照功能:配好一个干净环境,拍个快照,以后随时回滚
- 跨平台:Windows、macOS 都能跑,团队协作统一环境
我个人习惯用 VMware Workstation,当然 VirtualBox 也行。下面以 VMware 为例。
2.2 安装 VMware Workstation
去官网下载 VMware Workstation Pro(个人用可以申请免费许可证)。安装过程很简单,一路 Next 就行。唯一要注意的是:安装路径不要有中文。
2.3 创建 Ubuntu 20.04 虚拟机
Ubuntu 20.04 LTS 是 OpenHarmony 官方推荐的版本。别用 22.04 或 24.04,有些依赖包版本不兼容,我试过,会报奇奇怪怪的错误。
创建步骤:
- 点击「创建新的虚拟机」
- 选择「典型(推荐)」
- 选择「稍后安装操作系统」
- 客户机操作系统选「Linux」,版本选「Ubuntu 64 位」
- 虚拟机名称填
OpenHarmony_Dev - 磁盘大小建议 100GB(勾选「将虚拟磁盘拆分成多个文件」)
- 自定义硬件:内存给 8GB,处理器给 4 核
2.4 安装 Ubuntu 20.04 系统
下载 Ubuntu 20.04.6 LTS 的 ISO 镜像,挂载到虚拟机的 CD/DVD 里,启动虚拟机开始安装。
安装过程中有几个关键点:
- 语言选 English:终端操作时中文路径容易出问题
- 分区选「Erase disk and install Ubuntu」:虚拟机里无所谓
- 用户名建议用
openharmony:后面很多路径会用到 - 勾选「Install third-party software」:显卡驱动和 Wi-Fi 固件
装完后重启,记得先拍个快照。嗯,这一步很重要——万一后面配乱了,直接恢复快照,不用重装系统。
2.5 配置系统基础环境
进系统后,第一件事是换源。国内连 Ubuntu 官方源太慢了,我一般用清华或阿里镜像。
# 备份原源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 替换为清华源(Ubuntu 20.04)
sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
# 更新
sudo apt update && sudo apt upgrade -y
然后装一些基础工具:
sudo apt install -y vim curl wget git git-lfs unzip zip \
build-essential cmake ninja-build ccache \
python3 python3-pip python3-venv \
scons
核心工具清单
| 工具 | 版本要求 | 用途 |
|---|---|---|
| Git | ≥ 2.20 | 代码版本管理 |
| Python | 3.8 ~ 3.10 | 编译脚本、工具链 |
| SCons | ≥ 3.1.2 | 构建系统 |
| CMake | ≥ 3.16 | 跨平台构建 |
| Ninja | ≥ 1.10 | 加速编译 |
| ccache | ≥ 3.7 | 编译缓存,提速明显 |
2.6 配置 Git
Git 是 OpenHarmony 开发的核心工具。源码托管在 Gitee 上,所以你得先配好 Git 用户信息。
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
git config --global credential.helper store
最后一行是让 Git 记住密码,省得每次 push 都输一遍。我个人习惯还会配别名:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
2.7 配置 Python 环境
OpenHarmony 的编译脚本依赖 Python 3.8+。Ubuntu 20.04 自带 Python 3.8,但 pip 需要单独装。
# 确认版本
python3 --version # 应该是 Python 3.8.10
# 安装 pip 和 venv
sudo apt install -y python3-pip python3-venv
# 升级 pip
pip3 install --upgrade pip
# 安装常用 Python 包
pip3 install setuptools wheel
pip3 install requests pyyaml
为什么要装 pyyaml?因为 OpenHarmony 的配置文件很多是 YAML 格式,编译脚本会解析它们。不装的话,编译到一半会报 ModuleNotFoundError。
2.8 安装 SCons
SCons 是 OpenHarmony 的构建工具,类似于 Makefile 的升级版。Ubuntu 20.04 的 apt 源里自带 SCons,但版本可能比较老。我建议用 pip 装最新版:
# 卸载系统自带的旧版
sudo apt remove scons
# 用 pip 安装
pip3 install scons
# 验证
scons --version # 应该 ≥ 4.0
2.9 安装其他依赖
OpenHarmony 编译还需要一些底层库。别漏了:
sudo apt install -y libssl-dev libffi-dev libncurses5-dev \
libgmp-dev libmpfr-dev libmpc-dev flex bison \
texinfo gperf libtool patchutils bc \
zlib1g-dev libexpat1-dev
这些库的作用:
libssl-dev:HTTPS 和加密支持flex/bison:词法分析和语法分析器,编译内核需要texinfo:生成文档gperf:生成完美哈希函数
说白了,这些就是编译器的「食材」。缺一样,编译就会卡住。
2.10 验证环境
装完所有工具后,跑个脚本验证一下:
#!/bin/bash
echo "=== 环境验证 ==="
echo "Git: $(git --version)"
echo "Python: $(python3 --version)"
echo "SCons: $(scons --version 2>&1 | head -1)"
echo "CMake: $(cmake --version | head -1)"
echo "Ninja: $(ninja --version)"
echo "ccache: $(ccache --version | head -1)"
echo "================="
如果所有版本都显示正常,恭喜你,环境搭好了。
2.11 本章知识结构
下面这张图帮你理清整个环境搭建的脉络:
2.12 小结
这一章我们做了三件事:
- 装好了 VMware 虚拟机,创建了 Ubuntu 20.04 系统
- 配置了系统源、基础依赖和编译工具链
- 安装了 Git、Python、SCons 等核心开发工具