遇到 avbtool: command not found
错误时,说明系统未正确识别 avbtool
命令。以下是完整解决方案:
一、原因分析
avbtool
是 Android Verified Boot (AVB) 的官方工具链,但它 不属于标准环境变量路径,需通过以下方式获取:
- 通过 Android 源码编译(AOSP 环境)
- 通过 Android SDK 安装(独立开发环境)
二、解决方案(分场景)
场景 1:已下载完整 AOSP 源码
步骤:
- 确保已完成 AOSP 的完整编译(至少执行一次
make
)。 - 添加
avbtool
到环境变量:
# 临时生效(针对当前终端)
export PATH=$PATH:/path/to/aosp/out/host/linux-x86/bin
# 永久生效(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export PATH=$PATH:/path/to/aosp/out/host/linux-x86/bin' >> ~/.bashrc
source ~/.bashrc
验证:
avbtool --version
# 正常输出示例:avbtool 1.2.0
场景 2:未下载 AOSP (仅需 avbtool)
步骤:
- 手动下载独立的
avbtool
(Python 脚本):
# 从 Google 官方仓库下载
wget https://raw.githubusercontent.com/android/platform_external_avb/master/avbtool
chmod +x avbtool
# 移动到全局可执行路径(需 sudo 权限)
sudo mv avbtool /usr/local/bin/
验证:
avbtool --help
场景 3:通过 Android SDK 安装
步骤:
- 安装 Android SDK 命令行工具:
sudo apt install android-sdk-platform-tools
- 查找
avbtool
路径并添加到环境变量:
find /usr/lib/android-sdk/ -name "avbtool"
# 典型路径:/usr/lib/android-sdk/platform-tools/avbtool
export PATH=$PATH:/usr/lib/android-sdk/platform-tools
三、Python 环境问题排查(如报错 ImportError
)
若运行 avbtool
出现 Python 依赖错误,需修复环境:
1. 确认 Python 版本
python3 --version # 推荐 Python 3.6+
2. 安装必要依赖
# Ubuntu/Debian
sudo apt install python3-pip
# Python 模块依赖
pip3 install pyyaml
3. 手动指定 Python 解释器
python3 /path/to/avbtool --version
四、快速验证测试
执行一个基础命令测试功能:
avbtool make_vbmeta_image --help
若输出帮助信息,则表明配置成功。
五、附:AOSP 环境配置示例
# 假设 AOSP 源码在 ~/aosp 目录
cd ~/aosp
source build/envsetup.sh
lunch aosp_arm-eng
make -j8
export PATH=$PATH:$(pwd)/out/host/linux-x86/bin
通过上述步骤,可彻底修复 avbtool: command not found
问题。