在CentOS 7服务器上进行Android应用相关的自动化构建、测试或分析时,常常需要用到AAPT(Android Asset Packaging Tool),AAPT是Android SDK中的一个核心工具,用于查看、创建和更新ZIP兼容的归档文件(如.apk、.jar),并将资源文件编译成二进制格式,由于AAPT并非CentOS 7官方软件仓库中的标准包,因此需要通过手动安装Android SDK的方式来获取它,本文将详细介绍在CentOS 7环境下安装AAPT的完整步骤,确保过程清晰、准确无误。
准备工作:安装必要的依赖
在开始安装AAPT之前,系统需要具备一些基础工具和环境,确保您的系统拥有Java运行环境,因为Android SDK工具依赖于Java,推荐安装OpenJDK 8,这是一个稳定且广泛兼容的版本。
打开终端,执行以下命令来安装Java Development Kit (JDK):
sudo yum install -y java-1.8.0-openjdk-devel
安装完成后,通过运行以下命令验证Java是否安装成功:
java -version
如果终端显示了Java的版本信息,则表示安装成功,我们还需要wget
(用于下载文件)和unzip
(用于解压文件)这两个基本工具,如果系统中尚未安装,可以使用以下命令进行安装:
sudo yum install -y wget unzip
至此,所有必要的准备工作已经完成。
下载并配置Android SDK命令行工具
AAPT包含在Android SDK的Build-Tools组件中,获取它的最直接方式是下载并配置Android SDK的命令行工具。
创建SDK目录
为了保持系统整洁,我们选择将Android SDK安装在/opt
目录下,执行以下命令创建专属目录:sudo mkdir -p /opt/android/sdk sudo chown -R $USER:$USER /opt/android/sdk
第二条命令将目录的所有权更改为当前用户,这样后续操作就无需频繁使用
sudo
。下载命令行工具
访问Android Studio官方下载页面(https://developer.android.com/studio),找到“Command line tools only”部分,复制适用于Linux的下载链接,然后使用wget
命令进行下载,下载某个特定版本:cd /opt/android/sdk wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
版本号和链接可能会随时间更新,请以官方页面为准。
解压并整理目录结构
Android SDK管理器对目录结构有特定要求,下载的压缩包解压后会生成一个cmdline-tools
目录,我们需要将其移动到cmdline-tools/latest
路径下。unzip commandlinetools-linux-9477386_latest.zip mkdir -p cmdline-tools/latest mv cmdline-tools/* cmdline-tools/latest/
执行完毕后,您的目录结构应该类似于
/opt/android/sdk/cmdline-tools/latest/bin
,其中包含了sdkmanager
等可执行文件。
配置环境变量
为了能够在系统的任何位置直接使用Android SDK工具(包括sdkmanager
和稍后安装的aapt
),需要将其路径添加到环境变量中。
我们将在/etc/profile.d/
目录下创建一个新的配置文件android.sh
,这样对所有用户都生效。
sudo vi /etc/profile.d/android.sh
在打开的编辑器中,输入以下内容:
export ANDROID_HOME=/opt/android/sdk export ANDROID_SDK_ROOT=$ANDROID_HOME export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin export PATH=$PATH:$ANDROID_HOME/platform-tools
保存并退出编辑器,执行以下命令使配置立即生效:
source /etc/profile.d/android.sh
为了验证配置,可以运行sdkmanager --version
,如果能正常显示版本号,说明环境变量配置成功。
安装Build-Tools以获取AAPT
我们已经准备好了SDK管理器,接下来就是用它来安装包含AAPT的build-tools
。
列出可用的Build-Tools版本
执行以下命令,查看所有可用的安装包:sdkmanager --list | grep build-tools
您会看到一个类似
build-tools;34.0.0
、build-tools;33.0.2
的版本列表,选择一个您需要的稳定版本即可。安装指定版本的Build-Tools
使用sdkmanager
命令进行安装,安装0.2
版本:sdkmanager "build-tools;33.0.2"
系统会提示您接受许可协议,输入
y
并回车即可开始下载和安装。
安装完成后,AAPT二进制文件将被放置在/opt/android/sdk/build-tools/33.0.2/
目录下,由于我们之前已经将$ANDROID_HOME/platform-tools
(虽然AAPT不在这里,但这是配置adb
等工具的标准路径)和$ANDROID_HOME/cmdline-tools/latest/bin
加入了PATH
,但为了确保aapt
也能被找到,最好将build-tools
的路径也加入PATH
。
再次编辑/etc/profile.d/android.sh
:
sudo vi /etc/profile.d/android.sh
在文件末尾添加一行(假设您安装了33.0.2版本):
export PATH=$PATH:$ANDROID_HOME/build-tools/33.0.2
保存后,再次执行source /etc/profile.d/android.sh
使配置生效。
验证AAPT安装
最后一步,是验证AAPT是否已经成功安装并可以全局使用,在终端中输入:
aapt v
或者
aapt version
如果命令行返回了AAPT的版本信息,例如Android Asset Packaging Tool, v0.2-XXXXXX
,那么恭喜您,AAPT已经在您的CentOS 7系统上成功安装,您可以在脚本或CI/CD流水线中自由使用它来处理APK文件了。
相关问答FAQs
问题1:为什么我不能直接使用 yum install aapt
在CentOS 7上安装?
解答: AAPT(Android Asset Packaging Tool)是Google Android软件开发工具包(SDK)的一部分,它不属于CentOS或其上游社区企业Linux操作系统(EPEL)官方软件仓库中的标准软件包,这些官方仓库主要包含与Linux系统本身运行、开发和管理相关的核心及扩展软件,Android工具链是针对Android平台的特定工具集,因此需要通过Google提供的官方渠道(即下载Android SDK)来获取和安装。
问题2:如果需要更新AAPT到新版本,应该如何操作?
解答: 更新AAPT非常简单,因为它依赖于Android SDK的Build-Tools组件,您只需要使用sdkmanager
安装一个更新版本的Build-Tools即可,您可以再次运行sdkmanager --list | grep build-tools
来查看最新可用的版本,使用sdkmanager "build-tools;新版本号"
(sdkmanager "build-tools;34.0.0"
)来安装新版本,安装后,记得更新/etc/profile.d/android.sh
文件中的PATH
变量,将其指向新的Build-Tools目录,然后重新加载配置(source /etc/profile.d/android.sh
),系统就会默认使用新版本的AAPT了,多个版本的Build-Tools可以共存,您可以根据需要切换PATH
中的顺序来选择使用哪个版本。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复