【问题标题】:Android SDK cannot be found by flutterFlutter找不到Android SDK
【发布时间】:2023-03-31 14:50:01
【问题描述】:

我已经安装了flutter through AUR. 我也安装了aur/android-sdk 26.0.2-1。当我运行flutter run 时,我得到:

Warning! This package referenced a Flutter repository via the .packages file that is
no longer available. The repository from which the 'flutter' tool is currently
executing will be used instead.
  running Flutter tool: /home/dair/.flutter-sdk
  previous reference  : /home/dair/flutter
This can happen if you deleted or moved your copy of the Flutter repository, or
if it was on a volume that is no longer mounted or has been mounted at a
different location. Please check your system path to verify that you are running
the expected version (run 'flutter --version' to see which flutter is on your path).

Unable to locate a development device; please run 'flutter doctor' for information about installing additional components.

首先,我运行flutter --version,并收到:

Flutter • channel alpha • https://github.com/flutter/flutter.git
Framework • revision e2f54df5ab (9 days ago) • 2017-06-02 10:43:54 -0700
Engine • revision 1f2aa07571
Tools • Dart 1.24.0-dev.3.0

不确定“查看您的路径上出现了哪个颤动”究竟是什么意思。接下来我运行flutter doctor 并得到:

[✓] Flutter (on Linux, locale en_US.UTF-8, channel alpha)
    • Flutter at /home/christopher/.flutter-sdk
    • Framework revision e2f54df5ab (9 days ago), 2017-06-02 10:43:54 -0700
    • Engine revision 1f2aa07571
    • Tools Dart version 1.24.0-dev.3.0

[✗] Android toolchain - develop for Android devices
    ✗ ANDROID_HOME = /opt/android-sdk
      but Android SDK not found at this location.

[✓] Android Studio (version 2.3)
    • Android Studio at /usr/local/android-studio
    • Gradle version 3.2
    • Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] Connected devices
    • None

但是,如果我 cd 进入 /opt/android-sdk 我会得到:

➜  ~ cd /opt/android-sdk 
➜  android-sdk ls
add-ons  build-tools  emulator  platforms  tools

所以它看起来就在那里。我能找到的最接近的问题是:React Native android build failed. SDK location not found,但它似乎使用的是 Mac 而不是 arch 以及其他一些差异。如何解决flutter doctor 并让我的应用运行?

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    Flutter requires Android SDK 平台工具,使其可以使用adb 命令行工具。

    您似乎已经安装了 Android SDK,但尚未安装平台工具。

    这是用于 Arch 的 android-sdk-platform-tools Aur 包和用于安装它的 guide

    错误消息可能会被改进以表明我们实际上缺少 Android SDK 平台工具,而不是 Android SDK 本身。如果您愿意,请随时发送拉取请求或打开issue

    【讨论】:

    • 好的,谢谢!这似乎让我更进一步。在接受之前,我将进行更多调试,看看是否可以完全解决它。过去几天,Android Studio 在 Arch 上遇到了一些问题。典型的滚动发布模型哈哈。
    【解决方案2】:

    如果您使用的是 Android Studio 3,您可以通过转到 File -> Project structure 并选择您的平台 SDK 来配置您的平台 SDK。

    希望这对你有用。

    【讨论】:

      【解决方案3】:

      我已经通过以下命令解决了这个问题 flutter config --android-sdk <sdk-location> 您的 sdk 的位置在哪里。如果您使用的是 Windows,请确保使用双引号。

      【讨论】:

        【解决方案4】:

        这是说你的项目使用了两种不同的flutter-sdk路径。有两个地方定义了 sdk 路径。

        1. 设置(设置 > 语言和框架 > Flutter > Flutter SDK 路径

        1. local.properties 在您的根文件夹中

        这两个地方应该包含相同的 sdk 路径。使用flutter run 编译!!完成了!!

        【讨论】:

          【解决方案5】:

          我在尝试flutter doctor 命令时遇到了同样的问题:

          问题有点清楚了,这是因为颤振没有为您的 Android SDK 找到路径。

          有两种方法可以解决:

          • 您可以使用以下命令仅针对您当前的终端实例 SDK 路径解决此问题:

            flutter config --android-sdk /path/to/android/sdk

            flutter config --android-studio-dir /path/to/android/studio

          • 或者为了永久保存它,使用您的 Android sdk 路径导出 ANDROID_HOME

          我通过在我的机器上导出ANDROID_HOME 解决了这个问题(Arch Linux,但这适用于任何 Unix 实例)。

          这将解决您的问题,但您也可以在我的配置文件(在我的例如.zshrc 文件,同样可以在您的.bashrc 等上完成):

          #SDK exporting - this will solve your issue
          export ANDROID_HOME=/home/{user}/Android/Sdk 
          
          #Tools exporting - it can be need in your case
          export PATH=/home/{user}/Android/Sdk/platform-tools:$PATH
          export PATH=/home/{user}/Android/Sdk/tools:$PATH
          export PATH=/home/{user}/Android/ndk-build:$PATH
          
          #Flutter binary exporting
          export PATH=/home/{user}/flutter/bin:$PATH
          

          然后,我重新加载了我的个人资料文件(在我的文件中是 .zshrc 文件,在你的情况下使用你的文件。例如 .bashrc):

          source ~/.zshrc
          

          之后,flutter doctor 运行正常。

          【讨论】:

          • flutter config --android-sdk /path/to/android/sdk 这对我有用。谢谢
          • 我添加了 ANDROID_HOME 但颤振找不到它。我也在 github 上进行了很多搜索,但都没有结果。
          • @Mahdi-Jafaree 您是否为您的 shell 编辑了正确的文件?您使用的是哪个操作系统?
          • 首先将 ANDROID_HOME 添加到路径,但不起作用。然后尝试了 flutter config --android-sdk /path/to/android/sdk 并且它起作用了。感谢一百万次。
          【解决方案6】:

          我已经解决了! 我把我的 android SDK 放在 F:/androidsdk 之前 所以当我运行“flutter config”时,android sdk 没有链接。 要将颤振与 android sdk 链接,只需键入以下命令:

          flutter config --android-sdk /path/to/android/sdk
          

          我只是改变了这个

          flutter config --android-sdk F:/androidsdk
          

          我希望这是可行的。

          【讨论】:

          • 谢谢。在我在这一行中使用 () 并发出错误之前,但我使用 (/) 并且问题已修复。
          【解决方案7】:

          我在寻找解决方案时遇到了很多困难,最后我通过配置项目 SDK 找到了解决方案
          文件 -> 项目结构然后选择 sdk 平台。

          【讨论】:

            【解决方案8】:

            https://github.com/flutter/flutter/issues/15114#issuecomment-376582281 的解决方案对我有用,这在将 $ANDROID_SDK_PATH\platform-tools 添加到用户路径变量后有效。

            【讨论】:

              【解决方案9】:

              我已经在 Windows 10 上使用命令行手动设置了我的 Android SDK,我认为这在 Linux 中并没有太大变化,并且我在尝试设置我的开发环境时能够解决此类错误,如果您想像我一样解决它,只需按照我在相关问题的 GitHub 评论中发布的后续步骤操作即可:

              https://github.com/flutter/flutter/issues/19805#issuecomment-478306166

              我希望这可以帮助任何需要它的人!再见!

              【讨论】:

                【解决方案10】:

                获取Android SDK路径 - 在 Android Studio 中打开 Flutter 项目 - 转到文件 > 项目结构 > SDK 位置。复制位置

                设置 Android SDK 路径 - 输入终端flutter config --android-sdk /path/that/you/just/copied

                【讨论】:

                • 我对 ios 有同样的问题,它工作正常,但现在每当我运行颤振医生时,我都会得到这个结果✗ CocoaPods 未安装。 CocoaPods 用于检索 iOS 和 macOS 平台端的插件代码,以响应您在 Dart 端的插件使用情况。如果没有 CocoaPods,插件将无法在 iOS 或 macOS 上运行。有关详细信息,请参阅 flutter.dev/platform-plugins 安装:sudo gem install cocoapods 和 'sudo gem install cocoapods' 永远不会工作
                • 这帮助我解决了这个问题。谢谢。
                【解决方案11】:

                环境变量 制作 变量ANDROID_HOME

                并添加 SDK 的路径 get from Andriod stideo --> 设置 --> SDK 复制路径示例

                :C:\Users\Omar\AppData\Local\Android

                在变量Value中添加SDK路径:C:\Users\Omar\AppData\Local\Android

                下一步:在路径变量中添加2个值:

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

                【讨论】:

                  【解决方案12】:

                  转到项目结构并确保选择了 sdk 版本。

                  【讨论】:

                    【解决方案13】:

                    对于 macOS Catalina: 如果您已将 android sdk 安装到自定义位置(例如 /Users/your_username/dev/android/sdk),请按照以下步骤操作(注意:您必须根据您的 sdk 位置更改位置):

                    1. 打开zshrc文件

                      nano ~/.zshrc

                    2. 将以下内容添加到 zshrc 文件中

                      export ANDROID_HOME=Users/your_username/dev/android/sdk
                      export ANDROID_SDK_ROOT=$ANDROID_HOME
                      export ANDROID_AVD_HOME=$HOME/.android/avd

                    3. 使用Ctrl+x保存并关闭nano,出现提示时输入y

                    4. 来源你的 zshrc 文件使用

                      source $HOME/.zshrc

                    5. 您可以通过在终端窗口中键入以下内容来检查您的问题是否已解决。您应该将 sdk 路径作为输出

                      echo $ANDROID_SDK_ROOT

                    【讨论】:

                      【解决方案14】:

                      适用于 Windows 10 版本 2004

                      我添加了一个名为ANDROID_HOME 的用户环境变量,值为{SDK-PATH}\build-tools\{SDK-VERSION}。您必须将 SDK-PATH 和 SDK-VERSION 替换为您的自定义值。

                      我将另一个名为 %ANDROID_HOME% 的值附加到系统 PATH 变量中。

                      然后它按预期工作。

                      【讨论】:

                        【解决方案15】:

                        对我来说,这很简单。

                        如果 IDE 无法加载 SDK,通常会发生这种问题。

                        所以要解决这个问题,请按照以下步骤操作:

                        转到file menu -> project structure -> project settings -> select "project"

                        现在使用现有的 java 版本设置 Android SDK 路径。

                        然后选择“modules”并配置Android SDK并点击apply然后点击ok。

                        现在我们可能会找到 ios 和 android 模拟器来在这两种设备上运行您的 Flutter 应用程序。

                        【讨论】:

                          【解决方案16】:

                          您可以按照上面的第一个答案。我想补充一点。如果您在 Windows 上并将 sdk 安装在需要管理员权限才能修改的路径上,则颤振医生可能无法识别 sdk。将 sdk 文件夹复制到另一个非管理员位置,然后运行 ​​flutter config --android-sdk 命令。

                          【讨论】:

                          • 这应该是对第一个答案的评论,而不是另一个答案。
                          • 我需要 50 个声望。一旦我到达那里,我一定会移动这篇文章发表评论。谢谢。
                          【解决方案17】:

                          Windows 命令修复 SDK 路径

                          正如其他人在上面提到的,使用以下命令有效:

                          flutter config --android-sdk /path/to/android/sdk

                          记得在/path/to/android/sdk中加上引号

                          示例:flutter config --android-sdk "C:\Users\UserName\AppData\Local\Android\Sdk"

                          【讨论】:

                            【解决方案18】:

                            在 Windows 10(没有 Android Studio)下,我注意到文件夹 'sdk/build-tools' 是空的。然后我通过执行解决了这个问题:

                            sdkmanager build-tools;30.0.3
                            

                            在“sdkmanager --list >list.txt”命令的输出中获得了“build-tools;30.0.3”。

                            并且,build-tools安装后错误Android SDK无法被flutter找到解决了 也是!

                            PS。仔细阅读documentation 是绝对必要的(虽然我还有另一个错误)

                            PS.PS。日志(用于说明):

                            [√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.17763.1697], locale ru-UA)
                            [!] Android toolchain - develop for Android devices
                                X Unable to locate Android SDK.
                                  Install Android Studio from: https://developer.android.com/studio/index.html
                                  On 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, set ANDROID_HOME to that location.
                                  You may also want to add it to your PATH environment variable.
                            
                                X No valid Android SDK platforms found in d:/Android\SDK\platforms. Candidates were:
                                    - android-13
                                    - android-19
                                    - android-23
                                    - android-29
                            [!] Android Studio
                                X Flutter plugin not installed; this adds Flutter specific functionality.
                                X Dart plugin not installed; this adds Dart specific functionality.
                                X android-studio-dir = d:\Android
                                X Unable to find bundled Java version.
                            [√] VS Code (version 1.53.1)
                            [!] Connected device
                                ! No devices available
                            
                            ! Doctor found issues in 3 categories.
                            
                            C:\Users\Леон>sdkmanager build-tools;30.0.3
                            
                            [=======================================] 100% Unzipping... android-11/renderscr
                            C:\Users\Леон>flutter doctor
                            Doctor summary (to see all details, run flutter doctor -v):
                            [√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.17763.1697], locale ru-UA)
                            
                            [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
                                ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
                            [!] Android Studio
                                X Flutter plugin not installed; this adds Flutter specific functionality.
                                X Dart plugin not installed; this adds Dart specific functionality.
                                X android-studio-dir = d:\Android
                                X Unable to find bundled Java version.
                            [√] VS Code (version 1.53.1)
                            [!] Connected device
                                ! No devices available
                            
                            ! Doctor found issues in 3 categories.
                            
                            C:\Users\Леон>
                            

                            【讨论】:

                              【解决方案19】:

                              对于 Windows: 在 Android Studio 内部, 获取路径来自:外观和行为 > 系统设置 > Android SDK > Android SDK 路径

                              如果您有编辑路径并将 sdk 重新安装到其他位置,请确保您的路径中不包含任何 空格

                              之后,

                              flutter config --android-sdk {path}
                              flutter doctor --android-licenses
                              

                              你准备好了!

                              【讨论】:

                              • 谢谢你救了我!
                              • 对我来说,问题在于 Android SDK 的路径包含空格。非常感谢!
                              【解决方案20】:
                              flutter config --android-studio-dir <path where android studio is installed>
                              

                              在我的例子中是"C:\Program Files\Android\Android Studio"

                              尝试在命令中使用双引号(我尝试使用双引号,如果路径中有空格,这可能是必要的)

                              来源:https://flutter.dev/docs/get-started/install/windows#android-setup

                              【讨论】:

                              • 非常感谢,我一直在寻找这个答案,其他答案正在提供仅设置 SDK 的想法
                              【解决方案21】:

                              我遇到了类似的错误。添加提取的颤振 sdk 的颤振路径直到颤振修复它

                              【讨论】:

                                【解决方案22】:

                                我们需要在工具中解决这个问题。您可以通过运行 flutter config --android-studio-dir='C:\Program Files\Android\Android Studio' 在本地解决此问题,您可以使用资源管理器进行检查。对我来说这条路径是C:\Program Files\Android\Android Studio\

                                【讨论】:

                                  猜你喜欢
                                  • 2018-08-16
                                  • 2021-10-06
                                  • 2020-10-31
                                  • 2020-08-05
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2022-06-11
                                  • 2019-06-27
                                  • 2020-08-27
                                  相关资源
                                  最近更新 更多