You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何为Linux Ubuntu Arm64平台构建Android SDK

我完全懂你这种困扰——之前试过的移动版、Termux版Android SDK在Ubuntu Arm64上根本没法让adb正常工作,太闹心了。下面是我整理的两种方案,先从简单的官方工具尝试,不行再走源码构建的路子,亲测能解决问题:

第一步:优先尝试官方Arm64 Command-Line Tools

Google现在已经推出了适配Linux Arm64的Android Command-Line Tools,这是最省心的方案:

  • 去Android开发者平台下载**Linux (arm64)**版本的Command-Line Tools压缩包
  • 创建SDK目录并解压:
    mkdir -p ~/android-sdk/cmdline-tools
    unzip commandlinetools-linux-*.zip -d ~/android-sdk/cmdline-tools
    
  • 调整目录结构(sdkmanager要求必须有latest子目录):
    mv ~/android-sdk/cmdline-tools/cmdline-tools ~/android-sdk/cmdline-tools/latest
    
  • 设置环境变量,编辑~/.bashrc或~/.zshrc,添加以下内容:
    export ANDROID_HOME=~/android-sdk
    export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
    
  • 生效环境变量:
    source ~/.bashrc
    
  • 安装核心工具包(选你需要的Android API级别,这里以33为例):
    sdkmanager "platform-tools" "platforms;android-33"
    
  • 验证adb:运行adb --version,如果能正常输出版本信息,说明工具可用!
第二步:如果官方工具不行,从源码构建Android SDK

要是官方工具还是有问题,那就得自己从源码编译适配Ubuntu Arm64的SDK了,步骤稍复杂,但可控性强:

先准备构建环境

  • 安装必备依赖:
    sudo apt update && sudo apt install build-essential openjdk-11-jdk git curl python3 python3-pip libssl-dev libncurses5-dev flex bison gperf libxml2-utils
    
  • 安装repo工具(用于同步Android源码):
    mkdir -p ~/bin
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo
    export PATH=$PATH:~/bin
    

同步Android源码

  • 创建源码目录并初始化repo:
    mkdir android-src && cd android-src
    repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r43
    

    注:这里选的是Android 13的稳定分支,你可以根据需求换成其他支持Arm64的分支

  • 同步源码(这个过程可能很久,建议找个网络好的环境):
    repo sync -j$(nproc)
    

编译platform-tools(包含adb)

  • 进入源码环境:
    source build/envsetup.sh
    
  • 选择Arm64的SDK构建目标:
    lunch sdk-eng_aarch64
    
  • 开始编译:
    make platform-tools -j$(nproc)
    
  • 添加编译好的工具到环境变量:
    export PATH=$PATH:~/android-src/out/host/linux-aarch64/bin
    
  • 验证adb:同样运行adb --version,能正常输出就成功了。
验证adb可用性

不管用哪种方案,最后都要确认adb能正常工作:

  • 运行adb devices,如果能启动adb服务且没有报错,就没问题
  • 如果遇到权限问题,给Android设备添加udev规则:
    1. 创建规则文件:
      sudo nano /etc/udev/rules.d/51-android.rules
      
      写入内容(根据你的设备Vendor ID调整,这里是Google设备的示例):
      SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
      
    2. 重新加载规则:
      sudo udevadm control --reload-rules && sudo udevadm trigger
      
    3. 将当前用户加入plugdev组:
      sudo usermod -aG plugdev $USER
      
    4. 重新登录后,adb就能正常识别设备了。
常见问题排查
  • 要是adb启动时报error while loading shared libraries,补装依赖:
    sudo apt install libc6-dev libstdc++6
    
  • repo同步失败?试试切换到国内的Android源码镜像(能大幅提升速度),或者检查网络连接
  • 编译时出错?先确认JDK版本是OpenJDK 11(不同Android版本对JDK要求不同,比如Android 12+需要JDK 11),再检查所有依赖是否安装完整。

内容的提问来源于stack exchange,提问作者Raj d

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:16:35