OpenHarmony 3.2 南向开发环境搭建:VMware Ubuntu 20.04 实战避坑指南
对于初次接触OpenHarmony南向开发的嵌入式工程师来说,环境搭建往往是第一个拦路虎。本文将基于VMware虚拟机环境,手把手带你完成Ubuntu 20.04 LTS开发环境的配置,并重点解决三个最常见的环境配置问题。
1. 环境准备与镜像选择
在开始之前,我们需要准备以下工具和资源:
- VMware Workstation Pro 16+:建议使用最新稳定版
- Ubuntu镜像:推荐使用
ubuntu-20.04.4-desktop-amd64.iso,这是经过验证与OpenHarmony 3.2兼容性最好的版本 - 硬件资源:
- 主机至少16GB内存
- 虚拟机分配建议:
- 内存:8GB+ - 处理器:4核+ - 硬盘:100GB+(建议使用SSD)
安装Ubuntu时需要注意的几个关键配置项:
- 分区方案:
/ : 50GB (ext4) swap : 内存大小的1.5倍 /home : 剩余空间 - 安装时勾选"安装OpenSSH服务器"选项
- 更新源选择国内镜像(如阿里云或清华源)
提示:安装完成后立即执行
sudo apt update && sudo apt upgrade -y更新系统
2. 基础开发环境配置
2.1 必备工具安装
运行以下命令安装基础开发工具链:
sudo apt-get install -y build-essential gcc g++ make zlib1g-dev liblz4-dev \ libssl-dev git curl gnupg flex bison gperf zip libc++-dev libc++abi-dev \ lib32z1-dev x11proto-core-dev libx11-dev lib32ncurses5-dev libxext-dev \ libxrender-dev libxtst-dev libxrandr-dev python3-pip python3.8 python3.8-distutils ccache2.2 Python环境配置
OpenHarmony对Python版本有严格要求,需要配置3.8.x版本:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 sudo update-alternatives --config python # 选择python3.8安装必要的Python包:
pip3 install setuptools kconfiglib pycryptodome ecdsa --user注意:不要使用Python 3.10及以上版本,否则会导致hb工具运行异常
3. OpenHarmony工具链安装
3.1 安装hb构建工具
hb是OpenHarmony的构建工具,安装时需要特别注意:
python3 -m pip install --user ohos-build安装完成后,将以下路径添加到~/.bashrc中:
export PATH=$PATH:~/.local/bin source ~/.bashrc验证安装:
hb -h3.2 常见问题1:hb工具报错处理
如果遇到以下错误:
Exception: Please call hb utilities inside source root directory解决方案:
- 确认当前目录是否为OpenHarmony源码根目录
- 如果问题依旧,尝试重新安装:
pip3 uninstall ohos-build pip3 install build/lite # 必须在源码根目录执行4. 源码获取与目录结构
4.1 获取源码
推荐使用repo工具获取源码:
mkdir ~/openharmony && cd ~/openharmony curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo chmod a+x /usr/local/bin/repo repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.2-LTS --no-repo-verify repo sync -c -j44.2 常见问题2:目录结构错误
正确的目录结构应如下所示:
openharmony/ ├── build ├── device ├── foundation ├── kernel ├── prebuilts ├── test ├── vendor └── ...如果目录结构不正确,会导致编译失败。常见错误包括:
- 将源码下载到了
/home目录而非用户目录 - 使用了嵌套的目录结构(如
~/project/openharmony/openharmony) - 目录包含中文或特殊字符
5. 编译配置与执行
5.1 初始化编译环境
cd ~/openharmony source build/envsetup.sh5.2 选择开发板配置
对于Hi3861开发板:
hb set -p Hi38615.3 常见问题3:Python版本冲突
如果在编译时遇到Python相关错误,检查以下内容:
确认当前Python版本:
python --version应该显示3.8.x
如果系统中有多个Python版本,可以创建虚拟环境:
python3.8 -m venv ~/oh_env source ~/oh_env/bin/activate重新安装依赖:
pip install -r build/requirements.txt
5.4 执行编译
hb build -f -j4编译成功后会生成镜像文件,路径通常为:
out/hi3861/hi3861/Hi3861_wifiiot_app_allinone.bin6. 开发效率优化技巧
6.1 共享文件夹配置
在VMware中配置共享文件夹可以方便地在主机和虚拟机间传输文件:
- 虚拟机设置 → 选项 → 共享文件夹 → 总是启用
- 添加要共享的文件夹
- 在Ubuntu中安装VMware Tools:
sudo apt install open-vm-tools open-vm-tools-desktop - 共享文件夹通常挂载在
/mnt/hgfs
6.2 VS Code远程开发
- 在Ubuntu中安装VS Code:
sudo apt install code - 安装Remote - SSH扩展
- 配置SSH免密登录:
ssh-keygen -t rsa ssh-copy-id 用户名@localhost
6.3 常用快捷命令
| 命令 | 功能 |
|---|---|
hb build -f -j4 | 强制全量编译,使用4线程 |
hb build --target=target_name | 编译指定目标 |
hb env | 显示当前编译环境配置 |
hb clean | 清除编译产物 |
7. 进阶调试技巧
7.1 串口调试配置
对于Hi3861开发板,串口调试是必备技能:
- 安装串口工具:
sudo apt install minicom - 配置串口:
选择:sudo minicom -s- Serial port setup
- Serial Device: /dev/ttyUSB0
- Bps/Par/Bits: 115200 8N1
- Hardware Flow Control: No
7.2 日志分析技巧
OpenHarmony系统日志通常包含以下关键信息:
[INFO]:常规信息[WARN]:警告信息[ERROR]:错误信息[DEBUG]:调试信息(需要开启调试模式)
可以使用grep过滤关键日志:
minicom | grep -E 'ERROR|WARN'7.3 常见编译错误处理
内存不足:
- 增加虚拟机内存
- 使用交换空间:
sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
依赖缺失:
sudo apt-get install -f网络问题:
- 更换国内镜像源
- 使用代理(需符合相关规定)