3. VTS 测试环境搭建:硬件要求、软件环境配置、VTS 测试工具安装与配置
VTS (Vendor Test Suite) 测试环境的正确搭建是进行 HAL 层日志分析与补丁验证的前提。一个标准化的环境能够确保测试结果的可复现性,避免因环境差异导致的误判。本章节将系统阐述 VTS 测试环境的硬件选型、软件栈配置以及核心工具的安装与验证流程。
3.1 硬件环境要求
VTS 测试对硬件有明确的性能与接口要求,错误的硬件配置可能导致测试超时、闪退或结果不可信。下表列出了推荐的最低配置与建议配置:
| 硬件组件 | 最低要求 | 建议配置 | 说明 |
|---|---|---|---|
| CPU | Intel Core i5 第8代 / AMD Ryzen 5 3000 | Intel Core i7 第12代 / AMD Ryzen 7 5000 | 多核性能影响编译与测试并行度 |
| 内存 | 16 GB RAM | 32 GB RAM 或更高 | 内存不足会导致 OOM 或测试中断 |
| 存储 | 200 GB 可用空间 (SSD) | 500 GB NVMe SSD | AOSP 源码 + 编译产物约 150-300 GB |
| USB 接口 | USB 3.0 Type-A | USB 3.2 Gen2 Type-C | 用于连接被测设备 (DUT) |
| 被测设备 (DUT) | Android 10+ 设备,已解锁 bootloader | Pixel 设备或 GSI 兼容设备 | 必须支持 fastboot 与 adb 调试 |
⚠ 硬件避坑提示: 使用机械硬盘 (HDD) 运行 VTS 会导致 I/O 瓶颈,编译时间可能延长 3-5 倍,且测试过程中频繁的日志写入可能造成 DUT 响应延迟。务必使用固态硬盘 (SSD/NVMe)。
3.2 软件环境配置
软件环境是 VTS 运行的基石,主要包括操作系统、Java 开发工具包 (JDK)、Python 运行时以及 Android SDK 平台工具。以下步骤基于 Ubuntu 22.04 LTS 进行说明。
3.2.1 操作系统与基础依赖
# 更新包索引并安装基础依赖
sudo apt update
sudo apt install -y git-core gnupg flex bison build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev \
lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
3.2.2 JDK 与 Python 版本要求
| 软件组件 | 版本要求 | 验证命令 |
|---|---|---|
| OpenJDK | 11 或 17 (推荐 17) | java -version |
| Python | 3.8 - 3.11 | python3 --version |
| Git | ≥ 2.25 | git --version |
| Android SDK Platform Tools | ≥ 34.0.0 | adb --version |
# 安装 OpenJDK 17
sudo apt install -y openjdk-17-jdk
# 安装 Python 3.10 (如系统未自带)
sudo apt install -y python3.10 python3.10-venv
# 下载并配置 Android SDK Platform Tools
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
unzip platform-tools-latest-linux.zip -d ~/android-sdk
echo 'export PATH=$PATH:~/android-sdk/platform-tools' >> ~/.bashrc
source ~/.bashrc
# 验证 adb 与 fastboot
adb version
fastboot --version
💡 版本兼容性提示: 如果使用 Python 3.12+,VTS 的某些旧版测试框架 (如 tradefed) 可能出现兼容性问题。建议使用 Python 3.10 作为默认解释器,并通过
update-alternatives 配置优先级。
3.3 VTS 测试工具安装与配置
VTS 测试工具的核心是 TradeFed 测试框架以及对应的 VTS 测试套件。安装方式分为两种:从 AOSP 源码编译获取,或直接下载预编译的 VTS 包。
3.3.1 方式一:从 AOSP 源码编译 (推荐)
此方式适用于需要深度定制测试或进行 HAL 层补丁验证的场景。
# 1. 初始化 AOSP 仓库 (以 android-14.0.0_r35 为例)
mkdir ~/aosp && cd ~/aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r35
repo sync -j$(nproc)
# 2. 编译 VTS 测试套件
source build/envsetup.sh
lunch aosp_arm64-userdebug
make vts -j$(nproc)
# 3. 编译产物路径
# out/host/linux-x86/vts/android-vts.zip
3.3.2 方式二:下载预编译 VTS 包 (快速)
适用于仅需执行标准兼容性测试的场景。
# 从 Google 官方源下载最新 VTS 包
wget https://dl.google.com/android/test/vts/android-vts.zip
# 解压到指定目录
unzip android-vts.zip -d ~/vts-tools
# 配置环境变量
echo 'export VTS_ROOT=~/vts-tools/android-vts' >> ~/.bashrc
echo 'export PATH=$PATH:$VTS_ROOT/tools' >> ~/.bashrc
source ~/.bashrc
3.3.3 验证安装
安装完成后,通过以下命令验证 VTS 工具链是否就绪:
# 检查 TradeFed 版本
vts-tradefed help
# 列出所有可用的 VTS 测试模块
vts-tradefed list modules
# 快速运行一个简单的 VTS 测试 (需连接 DUT)
vts-tradefed run vts -m VtsHalAudioCoreV7_0TargetTest
3.4 环境验证清单
在开始 VTS 测试之前,建议逐项核对以下清单,确保环境无遗漏:
- ✅ 硬件检查: 确认 DUT 已解锁 bootloader,USB 调试已开启,且主机 USB 端口供电稳定。
- ✅ 网络连通性: 主机能够访问
dl.google.com和android.googlesource.com(或配置了国内镜像)。 - ✅ 依赖完整性: 运行
vts-tradefed help无报错,且能列出测试模块。 - ✅ 设备识别: 执行
adb devices -l显示 DUT 状态为device,且 product/variant 信息正确。 - ✅ 存储空间: 确认
df -h显示剩余空间 ≥ 50 GB (用于测试日志与临时文件)。
📌 关键配置总结: VTS 测试环境的核心在于 JDK 17 + Python 3.10 + Android SDK Platform Tools 34+ 的三件套组合。源码编译方式适合 HAL 层开发与补丁验证,预编译包方式适合快速回归测试。无论哪种方式,安装后务必执行
vts-tradefed list modules 确认工具链完整。