2. 开发环境搭建:Ubuntu系统安装与配置、必要工具链安装、repo与git版本管理工具配置
Camera HAL 开发对操作系统、编译工具链和代码管理工具有明确要求。本章从零开始搭建一套可复现的 Ubuntu 开发环境,涵盖系统安装、基础工具链安装、以及 Android 源码管理必备的 repo 与 git 配置。所有步骤均以 Ubuntu 22.04 LTS 为基准,兼容 20.04 LTS。
2.1 Ubuntu 系统安装与基础配置
推荐使用 Ubuntu 22.04 LTS 或 20.04 LTS 作为宿主系统。安装完成后,需完成以下基础配置:
- 更新软件源:
sudo apt update && sudo apt upgrade -y - 安装 SSH 服务:
sudo apt install openssh-server -y,便于远程开发。 - 配置磁盘空间:Camera HAL 编译需要大量临时空间,建议根分区或
/home分区预留至少 150GB 可用空间。 - 安装基础依赖:
sudo apt install curl wget vim net-tools -y
提示:如果使用虚拟机,建议分配至少 4 核 CPU、8GB 内存、150GB 动态扩展磁盘。编译过程中若内存不足,可临时增加 swap 分区。
2.2 必要工具链安装
Camera HAL 编译依赖完整的 GNU 工具链和 CMake 构建系统。以下为必须安装的组件:
| 工具 | 版本要求 | 安装命令 | 用途 |
|---|---|---|---|
| gcc / g++ | ≥ 11.0 | sudo apt install build-essential -y |
C/C++ 编译器,编译 HAL 库与测试程序 |
| make | ≥ 4.3 | sudo apt install make -y |
GNU Make 构建工具,驱动编译流程 |
| cmake | ≥ 3.22 | sudo apt install cmake -y |
跨平台构建系统,管理 HAL 项目配置 |
| python3 | ≥ 3.10 | sudo apt install python3 python3-pip -y |
repo 工具依赖,部分脚本运行环境 |
安装完成后,使用以下命令验证版本:
gcc --version
g++ --version
make --version
cmake --version
python3 --version
关键检查点:如果系统默认 gcc 版本低于 11,可通过
sudo apt install gcc-11 g++-11 安装多版本,并使用 update-alternatives 切换默认版本。
2.3 repo 与 git 版本管理工具配置
Android 源码采用多仓库管理,repo 工具基于 git 实现跨仓库操作。Camera HAL 通常作为 Android 源码的一部分进行开发,因此必须正确配置 repo 和 git。
2.3.1 git 安装与全局配置
sudo apt install git -y
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --global core.editor vim
git config --global color.ui auto
推荐同时配置 git lfs 以管理大文件:
sudo apt install git-lfs -y
git lfs install
2.3.2 repo 工具安装
repo 是一个 Python 脚本,官方推荐通过 Google 的 git 仓库安装:
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
将 ~/bin 加入 PATH:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
验证安装:
repo --version
注意:如果网络无法访问 Google 存储服务,可使用国内镜像源:
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/repo > ~/bin/repo。同时配置 export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'。
2.4 开发环境整体架构
下图展示了 Camera HAL 开发环境的层次结构,从底层操作系统到上层工具链与代码管理:
2.5 环境验证清单
完成上述安装后,建议执行以下验证步骤,确保环境可用:
- 编译测试:编写一个简单的 C 程序,使用 gcc 编译并运行。
- CMake 测试:创建一个 CMakeLists.txt,执行
cmake . && make验证构建流程。 - git 测试:
git init一个本地仓库,执行 commit、branch、merge 等基本操作。 - repo 测试:
repo init -u <manifest-url> --depth=1测试初始化流程(可使用公开的 AOSP 或 CAF manifest)。