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

Ubuntu20无Android Studio环境下Flutter无法识别手动安装的Android SDK

Ubuntu20 无Android Studio搭建Flutter环境SDK识别失败排查方案

核心问题点

当前报错来自三个直接原因:

  • SDK目录缺失核心组件:目前$HOME/android下只有cmdline-tools和licenses目录,platform-tools(adb所在包)、build-tools、对应版本的Android平台包都未安装,提前把不存在的目录加到PATH里自然找不到adb
  • 冗余无效路径干扰:配置的PATH里包含cmdline-tools/tools、cmdline-tools/tools/platform-tools这类不存在或者旧版本工具的路径,容易引发路径识别冲突
  • Flutter未显式绑定SDK路径:仅配置系统环境变量可能存在Flutter读取不到的情况,需要手动指定SDK位置

解决步骤

1. 清理修正环境变量配置

编辑~/.bashrc,删除之前所有Android SDK相关的PATH配置,替换为以下内容:

export ANDROID_SDK_ROOT="$HOME/android"
export ANDROID_HOME="$ANDROID_SDK_ROOT"
# 仅保留有效路径,未安装的组件路径不要提前写入
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin"
export PATH="$PATH:$ANDROID_SDK_ROOT/platform-tools"

保存后执行以下命令让配置立即生效:

source ~/.bashrc

执行完可以输入which sdkmanager确认命令行工具能被正常找到,输出路径指向$HOME/android/cmdline-tools/latest/bin/sdkmanager即为正常。

2. 删除冲突的旧版工具

目录下的cmdline-tools/tools是旧版命令行工具,和latest版本冲突,直接删除:

rm -rf $HOME/android/cmdline-tools/tools

3. 安装缺失的SDK核心组件

通过sdkmanager安装Flutter要求的必备组件,执行命令后所有许可提示都输入y回车即可:

# 更新sdkmanager自身
sdkmanager --update
# 安装必备组件:platform-tools(含adb)、构建工具、Android平台包
sdkmanager "platform-tools" "build-tools;34.0.0" "platforms;android-34"
# 统一接受所有SDK许可协议
sdkmanager --licenses

安装完成后执行adb version,如果能正常输出版本信息,说明adb已经安装成功。此时再查看$HOME/android目录,会多出platform-tools、build-tools、platforms三个目录。

4. 给Flutter显式指定SDK路径

执行以下命令强制Flutter绑定自定义的SDK路径,避免自动识别失败:

flutter config --android-sdk $HOME/android

5. 重新检测环境

执行flutter doctor -v,Android toolchain项的报错就会消失。如果后续需要其他版本的构建工具或者平台包,直接用sdkmanager安装对应版本即可。


额外说明

如果执行sdkmanager时报Java相关错误,先安装OpenJDK 17即可:

sudo apt update && sudo apt install openjdk-17-jdk -y

安装完不用额外配置,sdkmanager会自动识别系统Java环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.15 16:16:01