Linux系统下Android SDK下载与安装全攻略

一、环境准备:确保系统兼容性

在Linux系统上安装Android SDK前,需确认系统环境满足以下要求:

  1. 系统版本:推荐使用Ubuntu 20.04 LTS、Debian 11或Fedora 35等较新版本,旧版本可能因依赖库缺失导致安装失败。例如,Ubuntu 18.04的OpenJDK版本可能低于Android SDK要求。
  2. 依赖库:通过包管理器安装基础依赖,以Ubuntu为例:
    1. sudo apt update
    2. sudo apt install openjdk-11-jdk lib32z1 lib32ncurses6 lib32stdc++6
    • openjdk-11-jdk:Android SDK要求Java 11及以上版本,OpenJDK是开源首选。
    • lib32z1等:解决32位兼容性问题,避免运行adb等工具时报错。
  3. 用户权限:建议使用普通用户操作,避免直接使用root,防止误删系统文件。可通过sudo临时提权。

二、下载Android SDK:官方与命令行两种方式

1. 官方下载(推荐新手)

访问Android Studio官网,下载“Command line tools only”包(非完整IDE),选择Linux版本(如commandlinetools-linux-9477386_latest.zip)。此方式适合仅需SDK的开发场景,避免下载Android Studio的冗余组件。

2. 命令行下载(适合自动化部署)

使用wgetcurl直接下载,以Google官方镜像为例:

  1. wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip

若链接失效,可通过SDK工具页面获取最新URL。下载后解压到目标目录(如~/android-sdk):

  1. unzip commandlinetools-linux-9477386_latest.zip -d ~/android-sdk

三、安装Android SDK:配置环境与组件

1. 初始化SDK管理器

进入解压后的cmdline-tools目录,执行:

  1. cd ~/android-sdk/cmdline-tools/bin
  2. ./sdkmanager --list

首次运行会提示接受许可协议,输入y确认。--list命令可查看所有可用组件,包括平台工具、构建工具和系统镜像。

2. 安装核心组件

通过sdkmanager安装必要组件,示例命令:

  1. ./sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.0"
  • platform-tools:包含adbfastboot等调试工具。
  • platforms;android-33:Android 13系统镜像,用于模拟器或编译。
  • build-tools;33.0.0:编译APK所需的工具链。

3. 配置环境变量

编辑~/.bashrc~/.zshrc,添加以下内容:

  1. export ANDROID_SDK_ROOT=~/android-sdk
  2. export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/bin:$ANDROID_SDK_ROOT/platform-tools

生效配置:

  1. source ~/.bashrc

验证路径是否正确:

  1. echo $ANDROID_SDK_ROOT
  2. which adb

四、验证安装:检查工具与模拟器

1. 检查工具版本

运行以下命令确认工具安装成功:

  1. adb version
  2. # 输出示例:Android Debug Bridge version 1.0.41
  3. # Version 33.0.0-913644
  4. # Installed as /home/user/android-sdk/platform-tools/adb
  5. sdkmanager --version
  6. # 输出示例:Android SDK Manager 9477386

2. 启动模拟器(可选)

若需使用模拟器,需额外安装系统镜像和模拟器工具:

  1. ./sdkmanager "emulator" "system-images;android-33;default;x86_64"

创建AVD(Android Virtual Device):

  1. ./avdmanager create avd -n "Pixel_6_API_33" -k "system-images;android-33;default;x86_64"

启动模拟器:

  1. ./emulator -avd Pixel_6_API_33

五、常见问题与解决方案

  1. adb无法连接设备

    • 检查USB调试是否开启(开发者选项中)。
    • 执行adb kill-server后重启服务。
    • 确认设备驱动已安装(Linux通常无需驱动)。
  2. sdkmanager报错“Unable to resolve dependencies”

    • 检查网络是否代理,可通过--proxy=http|socks参数指定代理。
    • 手动下载缺失的依赖包,放入~/android-sdk/licenses目录。
  3. 空间不足

    • 定期清理旧版本工具:./sdkmanager --uninstall "build-tools;30.0.3"
    • 使用df -h检查磁盘空间,或迁移SDK到更大分区。

六、进阶建议:自动化与版本管理

  1. 自动化脚本
    编写Shell脚本自动下载、解压和配置SDK,示例片段:

    1. #!/bin/bash
    2. SDK_DIR=~/android-sdk
    3. mkdir -p $SDK_DIR
    4. wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O $SDK_DIR/sdk.zip
    5. unzip $SDK_DIR/sdk.zip -d $SDK_DIR
    6. rm $SDK_DIR/sdk.zip
    7. echo "export ANDROID_SDK_ROOT=$SDK_DIR" >> ~/.bashrc
    8. echo 'export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/bin:$ANDROID_SDK_ROOT/platform-tools' >> ~/.bashrc
    9. source ~/.bashrc
  2. 版本锁定
    在团队开发中,通过sdkmanager指定固定版本号,避免因SDK更新导致编译失败。例如,在build.gradle中锁定buildToolsVersion

通过以上步骤,开发者可在Linux系统上高效完成Android SDK的下载与安装,为后续的App开发或自动化测试奠定基础。