CentOS 7 下安装 aapt 工具全流程
作为 Android 开发或运维同学,在 CentOS 7 服务器上处理 APK 打包、资源解析等操作时,大概率会遇到 /bin/sh: aapt: command not found 的报错。 aapt (Android Asset Packaging Tool)是 Android SDK Build-Tools 核心组件,本文从开发者视角,拆解 CentOS 7 下基于手动安装方式(更稳定、可控)搭配 JDK 1.7 的完整部署流程,解决工具找不到、执行失败等核心问题。

一、核心背景与问题分析
aapt 依赖两个关键条件:一是 Android SDK Build-Tools 环境,二是 32 位系统运行库(CentOS 7 多为 64 位,而早期 aapt 为 32 位程序);此外,考虑到部分老项目兼容性,本文选用 JDK 1.7 搭配(若无需兼容,JDK 1.8 亦可)。报错本质无非三类:
- 未安装 Build-Tools,系统无 aapt 可执行文件;
- 缺少 32 位依赖库,即便安装了 aapt 也无法执行;
- aapt 路径未加入环境变量,系统无法全局调用。
二、前置准备
1. 权限与网络
确保以 root 权限操作(避免权限不足),服务器联网正常;可选关闭防火墙/SELinux 减少干扰:
# 临时关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 临时关闭 SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config2. 安装 JDK 1.7(适配老项目)
aapt 本身对 JDK 版本要求不高,但后续若需搭配 SDK 其他工具,需先部署 JDK:
# 安装 JDK 1.7
yum install -y java-1.7.0-openjdk-devel
# 验证安装
java -version输出类似以下内容即说明 JDK 1.7 安装成功:
openjdk version "1.7.0_xxx"
OpenJDK Runtime Environment (rhel-2.6.xxx.el7-x86_64)
OpenJDK 64-Bit Server VM (build 24.xxx-b01, mixed mode)三、核心步骤:安装 aapt 工具
步骤 1:安装 32 位依赖库(重中之重)
64 位 CentOS 7 运行 32 位 aapt 必须依赖以下库,缺一不可:
# 更新 yum 源(可选,确保包下载正常)
yum update -y
# 安装 32 位依赖集合
yum install -y \
zlib-devel.i686 \
libstdc++.i686 \
ncurses-devel.i686 \
libxml2-devel.i686 \
bzip2-devel.i686 \
openssl-devel.i686安装过程中提示 Is this ok [y/N]? 时,输入 y 回车即可。
步骤 2:手动下载并解压 Build-Tools
手动安装方式路径可控,适合生产环境,推荐选择 30.0.3 版本(兼容 CentOS 7,稳定性高):
# 1. 创建统一的 SDK 目录,便于管理
mkdir -p /opt/android-sdk/build-tools
cd /opt/android-sdk/build-tools
# 2. 下载 Build-Tools 压缩包(推荐清华镜像,速度更快)
# 若 wget 未安装,先执行:yum install -y wget
wget https://mirrors.tuna.tsinghua.edu.cn/android/repository/build-tools_r30.0.3-linux.zip
# 3. 解压(若 unzip 未安装,先执行:yum install -y unzip)
unzip build-tools_r30.0.3-linux.zip
# 4. 删除压缩包,节省空间
rm -f build-tools_r30.0.3-linux.zip解压后会生成 30.0.3 目录, aapt 可执行文件就在该目录下。
步骤 3:配置环境变量(永久生效)
仅解压还不够,需将 aapt 路径加入系统环境变量,确保所有用户、所有终端都能调用:
# 编辑全局环境变量文件
vi /etc/profile
# 在文件末尾添加以下内容(路径需与解压目录一致)
# Android SDK 环境变量
export ANDROID_HOME=/opt/android-sdk
export PATH=$PATH:$ANDROID_HOME/build-tools/30.0.3
# 保存退出 vi:按 Esc → 输入:wq → 回车
# 让环境变量立即生效
source /etc/profile四、验证安装结果
执行以下命令,若输出 aapt 版本信息,说明全流程部署成功:
aapt version成功输出示例:
Android Asset Packaging Tool (aapt) 30.0.3
Build ID: 7583922五、常见问题排查(开发者踩坑指南)
- 执行 aapt 提示 No such file or directory : 原因:漏装 32 位依赖库,重新执行步骤 1 的依赖安装命令即可。
- wget 下载压缩包超时/失败 : 解决方案:更换清华镜像链接(本文已提供),或手动下载压缩包后上传到
/opt/android-sdk/build-tools目录再解压。 - 环境变量配置后仍找不到 aapt : 排查步骤:
- 检查路径是否正确:
ls /opt/android-sdk/build-tools/30.0.3/aapt,若文件不存在,说明解压失败或包损坏,重新下载解压; - 重新生效环境变量:
source /etc/profile,或重启终端/服务器。
六、总结
- CentOS 7 安装 aapt 的核心是「先补 32 位依赖,再装 Build-Tools,最后配环境变量」,三者缺一不可;
- 手动安装方式路径清晰,适合生产环境,搭配 JDK 1.7 可兼容老项目;
- 验证环节执行
aapt version是最直接的校验方式,能输出版本信息即代表部署完成。
至此,CentOS 7 下 aapt 工具的安装就全部完成了,无论是解析 APK 资源、打包 Android 应用,还是集成到自动化构建流程,都能正常使用。
发布评论
评论列表 0




