一、环境准备:确保系统兼容性
在Linux系统上安装Android SDK前,需确认系统环境满足以下要求:
- 系统版本:推荐使用Ubuntu 20.04 LTS、Debian 11或Fedora 35等较新版本,旧版本可能因依赖库缺失导致安装失败。例如,Ubuntu 18.04的OpenJDK版本可能低于Android SDK要求。
- 依赖库:通过包管理器安装基础依赖,以Ubuntu为例:
sudo apt updatesudo apt install openjdk-11-jdk lib32z1 lib32ncurses6 lib32stdc++6
openjdk-11-jdk:Android SDK要求Java 11及以上版本,OpenJDK是开源首选。lib32z1等:解决32位兼容性问题,避免运行adb等工具时报错。
- 用户权限:建议使用普通用户操作,避免直接使用
root,防止误删系统文件。可通过sudo临时提权。
二、下载Android SDK:官方与命令行两种方式
1. 官方下载(推荐新手)
访问Android Studio官网,下载“Command line tools only”包(非完整IDE),选择Linux版本(如commandlinetools-linux-9477386_latest.zip)。此方式适合仅需SDK的开发场景,避免下载Android Studio的冗余组件。
2. 命令行下载(适合自动化部署)
使用wget或curl直接下载,以Google官方镜像为例:
wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
若链接失效,可通过SDK工具页面获取最新URL。下载后解压到目标目录(如~/android-sdk):
unzip commandlinetools-linux-9477386_latest.zip -d ~/android-sdk
三、安装Android SDK:配置环境与组件
1. 初始化SDK管理器
进入解压后的cmdline-tools目录,执行:
cd ~/android-sdk/cmdline-tools/bin./sdkmanager --list
首次运行会提示接受许可协议,输入y确认。--list命令可查看所有可用组件,包括平台工具、构建工具和系统镜像。
2. 安装核心组件
通过sdkmanager安装必要组件,示例命令:
./sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.0"
platform-tools:包含adb、fastboot等调试工具。platforms;android-33:Android 13系统镜像,用于模拟器或编译。build-tools;33.0.0:编译APK所需的工具链。
3. 配置环境变量
编辑~/.bashrc或~/.zshrc,添加以下内容:
export ANDROID_SDK_ROOT=~/android-sdkexport PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/bin:$ANDROID_SDK_ROOT/platform-tools
生效配置:
source ~/.bashrc
验证路径是否正确:
echo $ANDROID_SDK_ROOTwhich adb
四、验证安装:检查工具与模拟器
1. 检查工具版本
运行以下命令确认工具安装成功:
adb version# 输出示例:Android Debug Bridge version 1.0.41# Version 33.0.0-913644# Installed as /home/user/android-sdk/platform-tools/adbsdkmanager --version# 输出示例:Android SDK Manager 9477386
2. 启动模拟器(可选)
若需使用模拟器,需额外安装系统镜像和模拟器工具:
./sdkmanager "emulator" "system-images;android-33;default;x86_64"
创建AVD(Android Virtual Device):
./avdmanager create avd -n "Pixel_6_API_33" -k "system-images;android-33;default;x86_64"
启动模拟器:
./emulator -avd Pixel_6_API_33
五、常见问题与解决方案
-
adb无法连接设备:- 检查USB调试是否开启(开发者选项中)。
- 执行
adb kill-server后重启服务。 - 确认设备驱动已安装(Linux通常无需驱动)。
-
sdkmanager报错“Unable to resolve dependencies”:- 检查网络是否代理,可通过
--proxy=http|socks参数指定代理。 - 手动下载缺失的依赖包,放入
~/android-sdk/licenses目录。
- 检查网络是否代理,可通过
-
空间不足:
- 定期清理旧版本工具:
./sdkmanager --uninstall "build-tools;30.0.3"。 - 使用
df -h检查磁盘空间,或迁移SDK到更大分区。
- 定期清理旧版本工具:
六、进阶建议:自动化与版本管理
-
自动化脚本:
编写Shell脚本自动下载、解压和配置SDK,示例片段:#!/bin/bashSDK_DIR=~/android-sdkmkdir -p $SDK_DIRwget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O $SDK_DIR/sdk.zipunzip $SDK_DIR/sdk.zip -d $SDK_DIRrm $SDK_DIR/sdk.zipecho "export ANDROID_SDK_ROOT=$SDK_DIR" >> ~/.bashrcecho 'export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/bin:$ANDROID_SDK_ROOT/platform-tools' >> ~/.bashrcsource ~/.bashrc
-
版本锁定:
在团队开发中,通过sdkmanager指定固定版本号,避免因SDK更新导致编译失败。例如,在build.gradle中锁定buildToolsVersion。
通过以上步骤,开发者可在Linux系统上高效完成Android SDK的下载与安装,为后续的App开发或自动化测试奠定基础。