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

Ubuntu 22安装Flutter时遇cmdline-tools缺失及KeyError问题求助

解决Ubuntu 22下Android SDK缺失cmdline-tools的终端方案

问题根源

通过apt install android-sdk安装的是Ubuntu打包的SDK版本,自带工具链不全;而单独用apt-get install sdkmanager安装的工具与官方SDK不兼容,导致无法识别cmdline-tools;latest组件。

终端下的解决步骤

1. 定位Android SDK安装路径

先确认SDK的具体安装位置,执行:

dpkg -L android-sdk

默认路径通常为/usr/lib/android-sdk,后续用$ANDROID_HOME指代该路径(可先执行export ANDROID_HOME=/usr/lib/android-sdk简化输入)。

2. 使用SDK原生sdkmanager(弃用apt安装的版本)

apt安装的sdkmanager是第三方工具,与官方SDK适配性差,必须用SDK目录内的原生工具:

  • 检查SDK目录下是否存在原生sdkmanager:
ls $ANDROID_HOME/tools/bin/

若存在,直接用绝对路径执行安装命令(需sudo获取系统目录写入权限):

sudo $ANDROID_HOME/tools/bin/sdkmanager --install "cmdline-tools;latest"

3. 原生sdkmanager不存在时,手动安装cmdline-tools

如果apt安装的SDK过于精简,没有原生sdkmanager,需手动下载官方组件:

  1. 终端下载Linux版cmdline-tools压缩包:
wget https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip
  1. 创建指定目录结构:
sudo mkdir -p $ANDROID_HOME/cmdline-tools/latest
  1. 解压并移动文件到对应目录:
sudo unzip commandlinetools-linux-10406996_latest.zip -d tmp_dir
sudo mv tmp_dir/cmdline-tools/* $ANDROID_HOME/cmdline-tools/latest/
sudo rm -rf tmp_dir commandlinetools-linux-10406996_latest.zip

4. 配置环境变量

将cmdline-tools的bin目录加入系统PATH,确保sdkmanager可全局调用:

export ANDROID_HOME=/usr/lib/android-sdk
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH

若需永久生效,将上述两行添加到~/.bashrc或~/.zshrc文件末尾,执行source ~/.bashrc(对应shell配置文件)使更改生效。

5. 验证安装

执行以下命令检查组件是否安装成功:

sdkmanager --list

再运行flutter doctor,此时应不再提示缺失cmdline-tools组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:17:10