几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK

本文主要是介绍几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

几个Flutter常见诊断错误与解决

jcLee95:https://blog.csdn.net/qq_28550263
https://blog.csdn.net/qq_28550263/article/details/132869987


Flutter 诊断常见问题

问题1:

问题描述

[X] Android toolchain - develop for Android devicesX Unable to locate Android SDK.Install Android Studio from: https://developer.android.com/studio/index.htmlOn first launch it will assist you in installing the Android SDK components.(or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).If the Android SDK has been installed to a custom location, please use`flutter config --android-sdk` to update to that location.

原因分析

这个错误表示找不到Android SDK。可能的原因是Android Studio没有安装或者安装路径没有正确配置。

解决办法

PS > flutter config --android-sdk D:\Android\SDK
Setting "android-sdk" value to "D:\Android\SDK".You may need to restart any open editors for them to read new settings.

问题2:

问题描述

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)✗ cmdline-tools component is missingRun `path/to/sdkmanager --install "cmdline-tools;latest"`See https://developer.android.com/studio/command-line for more details.✗ Android license status unknown.Run `flutter doctor --android-licenses` to accept the SDK licenses.See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

原因与解决

这个错误信息表明 Flutter 环境缺少必要的Android工具链和SDK许可证。以下是针对每个错误的解决。

1. 错误信息:cmdline-tools组件缺失
✗ cmdline-tools component is missingRun `path/to/sdkmanager --install "cmdline-tools;latest"`

解决方法:

  • 打开终端并运行上述命令,将path/to/sdkmanager替换为你的Android SDK的路径。这个命令会安装最新的cmdline-tools组件。示例:
    /path/to/android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
    
  • 如果你不知道Android SDK的确切路径,可以使用flutter config命令来查找它。运行以下命令:
    flutter config --android-sdk
    
    例如:
    flutter config --android-sdk D:\Android\android-sdk
    
2. 错误信息:Android许可证状态未知
✗ Android license status unknown.Run `flutter doctor --android-licenses` to accept the SDK licenses.

解决方法:

  • 运行以下命令以接受Android SDK的许可证:
    flutter doctor --android-licenses
    
  • 在运行此命令时,你可能会被要求确认或接受许多许可证,例如:
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
7 of 7 SDK package licenses not accepted. 100% Computing updates...
Review licenses that have not been accepted (y/N)? Y 

请输入y来接受它们,然后回车确定。

完成上述步骤后,你的Flutter环境应该能够正常运行,并且不再显示这些错误信息。如果你遇到其他问题,请检查Flutter和Android SDK的安装,并确保它们都正确配置。

问题3:

问题描述
[!] Network resources✗ An HTTP error occurred while checking "https://github.com/": 信号灯超时时间已到

这个错误信息表明在尝试检查GitHub上的资源时发生了HTTP错误,并且错误信息中提到"信号灯超时时间已到"。这通常是由于网络问题或GitHub服务器不可访问引起的。以下是一些可能的解决方法:

  • 检查网络连接

    • 确保你的计算机能够访问互联网。打开浏览器并尝试访问其他网站,以确保你的网络连接正常。
    • 如果你使用代理服务器或VPN,请确保它们配置正确,并且没有阻止对GitHub的访问。
  • 尝试使用代理

    • 如果你在一个有网络限制的环境中工作(这个需要你自己体会一下,各大博客平台不允许展开讲解),可能需要配置代理服务器。在终端中设置代理服务器,以便你的Flutter环境可以访问GitHub。代理配置方法取决于你的网络环境和操作系统。
  • 检查GitHub状态

    • 有时,GitHub本身可能会遇到问题或维护。你可以访问 GitHub Status 来检查GitHub的当前状态。如果GitHub正在维护或遇到问题,你可能需要等待一段时间,然后再次尝试。
  • 更改仓库源

    • 如果你使用了自定义的Flutter镜像源或软件包管理器源,尝试切换回默认源或更改为可靠的源,以确保能够正常访问GitHub。
  • 检查防火墙和安全软件

    • 一些防火墙或安全软件可能会阻止你的计算机访问特定网站或资源。确保没有安全软件或防火墙规则阻止了对GitHub的访问。

问题3

问题描述
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)✗ cmdline-tools component is missingRun `path/to/sdkmanager --install "cmdline-tools;latest"`See https://developer.android.com/studio/command-line for more details.✗ Android license status unknown.Run `flutter doctor --android-licenses` to accept the SDK licenses.See https://flutter.dev/docs/get-started/install/macos#android-setup formore details.
原因分析

Android toolchain:你的Android SDK缺少cmdline-tools组件。你可以通过运行path/to/sdkmanager --install "cmdline-tools;latest"来安装它,其中path/to/sdkmanager应该替换为你的sdkmanager工具的实际路径。此外,你的Android许可证状态未知,你需要运行flutter doctor --android-licenses来接受SDK许可证。

解决办法
  • 安装cmdline-tools:首先,你需要找到sdkmanager的路径。如果你不确定,可以尝试在终端中运行which sdkmanager。然后,运行以下命令来安装cmdline-tools:
path/to/sdkmanager --install "cmdline-tools;latest"

其中 path/to/sdkmanager 应该替换为你的sdkmanager工具的实际路径。

在这里插入图片描述

  • 接受Android许可证:在终端中运行以下命令:
flutter doctor --android-licenses

然后按照提示接受所有许可证即可。

在这里插入图片描述

注意事项

如果你没有安装Java运行时,则需要先安装之。可以访问:https://www.oracle.com/java/technologies/downloads/#java21下载一个适合你设备和系统的运行时,或者也可以安装一个Java集成开发环境。

在这里插入图片描述

问题4

问题描述
[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)✗ CocoaPods not installed.CocoaPods is used to retrieve the iOS and macOS platform side's plugincode that responds to your plugin usage on the Dart side.Without CocoaPods, plugins will not work on iOS or macOS.For more info, see https://flutter.dev/platform-pluginsTo install seehttps://guides.cocoapods.org/using/getting-started.html#installation forinstructions.
原因分析

这个问题当然是在明显经常卡顿但是在果粉那里还不能说的mac系统上才有。原因是Xcode需要CocoaPods,但是你没有安装CocoaPods,它是一个Ruby写的用于检索iOS和macOS平台端的插件代码。没有CocoaPods,插件将无法在iOS或macOS上工作。你可以访问CocoaPods安装指南来安装它。

解决办法

安装CocoaPods:在终端中运行以下命令:

sudo gem install cocoapods

输入你的 Mac 的密码后,CocoaPods 应该会开始安装。安装完成后,你可以通过运行 pod --version 来确认 CocoaPods 是否已经成功安装。

注:
你也可以自己参考 https://guides.cocoapods.org/using/getting-started.html#installation 文档中的描述来完成 cocoapods 的安装

完成以上步骤后,你可以再次运行flutter doctor来检查是否已经解决了所有问题。

注意事项

还有一个是确保你安装了rbenv,你可以按照以下步骤来安装rbenv,并使用它来管理你的Ruby环境:

  1. 安装rbenv。你可以使用以下命令来在你的系统中安装rbenv:

    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

  2. 安装ruby-build。ruby-build是一个rbenv插件,用于安装不同版本的Ruby。你可以使用以下命令来安装ruby-build:

rbenv install 2.7.4
  1. 安装所需的Ruby版本。使用rbenv,你可以通过以下命令来安装新的Ruby版本:
rbenv install 2.7.4
  1. 设置全局或本地的Ruby版本。使用rbenv,你可以通过以下命令来设置全局或本地的Ruby版本:
rbenv global 2.7.4
  1. 确认Ruby版本。使用以下命令来确认你的Ruby版本是否已经升级:
ruby -v

如果你的系统中仍然在使用旧的Ruby版本,而不是新安装的,你可以尝试使用以下命令来重新加载你的环境变量,并确认你的Ruby版本是否已经切换:

source ~/.zshrc
ruby -v

通过这些步骤,你可以成功安装并使用rbenv来管理你的Ruby环境,并升级到所需的Ruby版本。如果确认你的Ruby版本已经切换到新的版本,那么你可以尝试重新安装cocoapods:

sudo gem install cocoapods

这篇关于几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/847416

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动