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 开发环境的层次结构,从底层操作系统到上层工具链与代码管理:

Camera HAL 开发环境架构 Ubuntu 22.04 LTS 操作系统 内核、驱动、文件系统、网络、SSH 基础编译工具链 gcc / g++ (≥11) make (≥4.3) cmake (≥3.22) python3 (≥3.10) 版本管理工具 git (≥2.30) repo (v2.x) Camera HAL 源码 / Android 源码

2.5 环境验证清单

完成上述安装后,建议执行以下验证步骤,确保环境可用:

  1. 编译测试:编写一个简单的 C 程序,使用 gcc 编译并运行。
  2. CMake 测试:创建一个 CMakeLists.txt,执行 cmake . && make 验证构建流程。
  3. git 测试:git init 一个本地仓库,执行 commit、branch、merge 等基本操作。
  4. repo 测试:repo init -u <manifest-url> --depth=1 测试初始化流程(可使用公开的 AOSP 或 CAF manifest)。