【2022-New】Flutter doctor 检测报错,Android toolchain - develop for Android devices

本文介绍了在Flutter开发过程中遇到的cmdline-tools缺失和Android SDK未配置的问题,提供了详细的解决方案。包括在Android Studio中下载安装cmdline-tools组件,配置Android SDK并解决找不到SDK的问题,同时指导如何下载Java JDK,配置环境变量,确保Flutter doctor能够正常运行。

错误一

cmdline-tools component is missing(缺少 cmdline-tools 组件)

AndroidToolchainErr

解决方案
点击开发工具左上角,依次点击:
file=>settings=>Appearance & Behavior=>System Settings=>Android SDK
下载安装 cmdline-tools 的最新版 component。

踩坑:如果android SDK也报错的话,记得先处理Android SDK的问题。
Android SDK Location的位置发生更改后,Android SDK Command-line Tools需要重新安装。

在这里插入图片描述

依赖安装完成后Finish,重启应用,一定要重启,不然不生效。

installInfo

错误二

Android toolchain - develop for Android devices(没找到Android SDK)

注意:Android SDK 与 Flutter SDK 是两个不一样的东西。

errInfo

解决方案:下载Android SDK 并配置环境变量
附上Android SDK的下载网址:
国外Android官网链接【谷歌官方】
补充:
①:谷歌将Android SDK软件开发工具包和Android Studio打包放在一起了,下载的文件偏大。
②:访问国外的谷歌官网需要“科学上网”,推荐大家去国内的AndroidDevtools下载安装。

国内Android工具链接【推荐】
AndroidDevtools截图
确认自己电脑的操作系统后,选择适合自己版本的文件。笔者下载的是当前最新版的zip文件压缩包。(.exe后缀的是Windows安装程序)

zipImage
解压后的文件如下图,运行SDK Manager.exe
folderImage
双击打不开的小伙伴,可能是因为电脑上没有Java JDK需要去下载配置下
(补充:Java JDK是Java软件开发工具包,Java JRE是Java运行环境)
官网链接
导航栏选择products=>鼠标下滑=>Hardware and software=>java
OracleImage1
选择download Java
在这里插入图片描述
选择Java downloads ,找到你想下载的jdk版本下载。
OracleImage2
笔者选择最新的Java 19(建议选版本低些的,比如Java 11,避免后期的不必要麻烦,我这是作死,别学,高版本极大几率提升后续兼容性报错)
OracleImage3
安装Java JDK(注意文件路径,截图中提供了笔者的解压路径给大家参考)
JavaJDKImage
配置Java环境变量
找到桌面上“此电脑”,鼠标右击属性(桌面没有“此电脑”的Ctrl+E=>此电脑=>属性)
依次点击高级系统设置=>环境变量=>新建
环境变量Image
配置细节:新建两个系统变量,参数如下(变量值,通过“浏览目录”进行编辑,避免出错)

// Java_HOME

Java_HOME
D:\JavaJDK\install_path

// CLASSPATH

CLASSPATH
.%JAVA_HOME%bin;%JAVA_HOME%\jre\bin;

在这里插入图片描述

classPathImage
通过win+R键,输入cmd,输入命令 java -version 检测是否配置成功,正常情况下会显示java版本号
cmdImage
配置完Java JDK后,双击 SDK Manager.exe ,笔者没勾选其他的,直接install
在这里插入图片描述
接受许可协议,我这里是三个,全同意才可以安装。install静默等待安装完成。
installImage
安装完成后点击ok,新建系统变量 ANDROID_HOME
在这里插入图片描述
找到系统变量的path,双击编辑,新增以下两个参数

%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools

AndroidImage
配置完成后,重新执行命令flutter doctor。运行结果已不报错,变成了一个警告,Android SDK配置完成。
在这里插入图片描述

在终端命令行执行 flutter doctor --android-licenses(全选Y)后,问题解决。

在这里插入图片描述

<think>我们正在解决两个问题: 1. cmdline-tools组件缺失 2. Android许可证状态未知 根据引用[1]中的信息,解决这两个问题的步骤如下: 问题1: cmdline-tools component is missing 解决方法:安装Android SDK Command-line Tools 问题2: Android license status unknown 解决方法:运行命令`flutter doctor --android-licenses`并接受所有许可协议 详细步骤: 1. 安装Android SDK Command-line Tools: - 打开Android Studio - 进入菜单:Tools > SDK Manager - 选择"SDK Tools"选项卡 - 勾选"Android SDK Command-line Tools (latest)" - 点击"Apply"进行安装 或者,使用`sdkmanager`命令行工具安装(需要先设置好Android SDK的环境变量): ``` sdkmanager "cmdline-tools;latest" ``` 2. 接受Android许可证: - 打开终端(命令行) - 运行命令:`flutter doctor --android-licenses` - 当询问是否接受许可证时,输入`y`并按回车键,直到所有许可证都被接受。 注意:如果运行`flutter doctor --android-licenses`时遇到Java版本问题(如引用[4]所述),则需要确保安装了Java 11并设置为默认版本。 对于Windows用户,如果遇到Java版本问题,可以: - 下载并安装OpenJDK 11:https://adoptium.net/temurin/releases/?version=11 - 设置环境变量`JAVA_HOME`指向JDK 11的安装路径 - 将JDK 11的`bin`目录添加到`PATH`变量中 验证解决方法: 再次运行`flutter doctor`,检查Android toolchain部分是否不再报错。 如果问题仍然存在,请确保Android SDK的路径已正确配置。可以通过设置环境变量`ANDROID_SDK_ROOT`来指定SDK路径。 例如,在Windows上,如果SDK安装在`C:\Users\username\AppData\Local\Android\Sdk`,则: - 设置环境变量`ANDROID_SDK_ROOT`为该路径 - 并将`%ANDROID_SDK_ROOT%\platform-tools`和`%ANDROID_SDK_ROOT%\tools`(以及`%ANDROID_SDK_ROOT%\cmdline-tools\latest\bin`)添加到`PATH`中 在Linux或macOS上,可以在`~/.bashrc`或`~/.zshrc`中添加: ```bash export ANDROID_SDK_ROOT=$HOME/Android/Sdk export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools export PATH=$PATH:$ANDROID_SDK_ROOT/tools export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin ``` 注意:安装cmdline-tools后,其路径可能是在`$ANDROID_SDK_ROOT/cmdline-tools/latest`下,因此需要将`bin`目录添加到PATH。 最后,重新启动终端并运行`flutter doctor`进行检查。 引用[1]中提到,用户电脑可能存在Windows版本无法确认的问题,但该问题通常不影响开发环境的搭建,可以暂时忽略。 如果按照以上步骤操作后问题仍未解决,请提供详细的错误信息以便进一步排查。 §§相关问题§§ 1. 如何安装和配置Android SDK? 2. 如何解决Flutter环境配置中的常见问题? 3. 如何正确配置Java环境以支持Android开发? </think>### 解决Flutter Android Toolchain问题的方法 #### 一、解决cmdline-tools组件缺失问题 1. **安装缺失组件**: ```bash flutter doctor --android-licenses # 先确保许可证已接受 sdkmanager "cmdline-tools;latest" # 安装最新命令行工具 ``` 验证安装:检查`$ANDROID_SDK_ROOT/cmdline-tools/latest`目录是否存在[^1] 2. **手动下载安装(备用方案)**: - 访问 [Android SDK Command Line Tools](https://developer.android.com/studio#command-tools) - 下载对应操作系统的ZIP包 - 解压到:`$ANDROID_SDK_ROOT/cmdline-tools/latest` 3. **环境变量配置**: ```bash # Windows (添加到系统环境变量) ANDROID_HOME = C:\Users\[用户名]\AppData\Local\Android\Sdk PATH += %ANDROID_HOME%\cmdline-tools\latest\bin # macOS/Linux (添加到~/.bashrc或~/.zshrc) export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin ``` #### 二、解决Android License状态未知问题 1. **接受所有许可证**: ```bash flutter doctor --android-licenses ``` 出现提示时连续输入`y`直到完成所有协议接受[^1] 2. **强制更新许可证库**: ```bash sdkmanager --update # 更新SDK组件 sdkmanager --licenses # 单独处理许可证 ``` 3. **Java环境修复(常见关联问题)**: - 确保使用Java 11: ```bash sudo apt install openjdk-11-jdk # Linux brew install openjdk@11 # macOS ``` - 设置默认Java版本: ```bash sudo update-alternatives --config java ``` #### 三、完整验证流程 ```bash # 1. 清理缓存 flutter clean # 2. 验证环境 flutter doctor -v # 预期输出应包含: # [✓] Android toolchain - develop for Android devices # [✓] Android license status unknown (问题修复) # [✓] cmdline-tools component is available (问题修复) ``` > **注意**:如果使用国内网络,建议配置镜像源提升稳定性: > ```bash > export FLUTTER_STORAGE_BASE_URL="https://mirrors.tuna.tsinghua.edu.cn/flutter" > export PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub" > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值