繁体   English   中英

Flutter 找不到 Android SDK

[英]Android SDK cannot be found by flutter

我已经通过 AUR安装了flutter 我还安装了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 位置,但它似乎使用 Mac 而不是 arch 以及其他一些差异。 如何解决flutter doctor并运行我的应用程序?

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

在此处输入图片说明

问题有点清楚,它的发生是因为 flutter 没有为您的 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 实例)。

这将解决您的问题,但你可以需要的sdkplatform-toolstoolsndk-build路径太(当然,一切都需要先安装)在我的配置文件(在我的情况.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文件,在你的情况下使用你的文件 .eg .bashrc ):

source ~/.zshrc

之后, flutter doctor就正常运行了。

在此处输入图片说明

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

希望这对你有用。

在此处输入图片说明

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

我终于解决了问题!!! 如果您不想使用ANDROID_HOME变量,则应该可以使用flutter config设置SDK路径。

Flutter提供命令以更新我们的Android SDK路径:

使用flutter config --android-sdk <path-to-your-android-sdk-path>

例如flutter config --android-sdk C:\\Users\\user\\AppData\\Local\\Android\\Sdk

对于 Windows:在 Android Studio 中,从以下位置获取路径:外观和行为 > 系统设置 > Android SDK > Android SDK 路径

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

之后,

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

你准备好了!

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

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

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

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

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

我只是改变了这个

flutter config --android-sdk F:/androidsdk

我希望这是有效的。

这对我有用

flutter config --android-sdk <path-to-your-android-sdk-path>

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

Flutter 需要Android SDK 平台工具才能使用adb命令行工具。

看起来您已经安装了 Android SDK,但您还没有安装平台工具。

这是用于 arch 的android-sdk-platform-tools Aur 包以及如何安装它的指南

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

据说您的项目正在使用两种不同的 flutter-sdk 路径。 有两个地方定义了 sdk 路径。

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

在此处输入图片说明

  1. 根文件夹中的local.properties

在此处输入图片说明

这两个地方应该包含相同的路径到 sdk.Compile with flutter run !! 完毕 !!

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

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

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

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

您可以简单地添加

flutter config --android-sdk“路径”

在flutter控制台中,但是由于url上的空间,您应该键入“您的路径”​​以正确设置它

刷新图像: 在此处输入图片说明

环境变量中创建变量ANDROID_HOME

并添加从 Andriod stideo 获取的SDK路径 --> 设置 --> SDK 复制路径示例

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

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

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

 %ANDROID_HOME%\tools 

%ANDROID_HOME%\platform-tools

对于 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

对于 Windows 10 版本 2004

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

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

然后它按预期工作。

对我来说,这很简单。

这种问题通常发生在 IDE 无法加载SDK

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

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

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

然后选择“模块”并配置Android SDK并单击应用然后单击确定。

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

您可以按照上面的第一个答案进行操作。 我想补充一点。 如果您使用的是 Windows 并且在需要管理员权限修改的路径上安装了 sdk,那么 flutter doctor 可能无法识别该 sdk。 将 sdk 文件夹复制到另一个非管理员位置,然后运行 ​​flutter config --android-sdk 命令。

用于修复 SDK 路径的 Windows 命令

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

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

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

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

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

sdkmanager build-tools;30.0.3

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

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

附注。 仔细阅读文档是绝对必要的(尽管我还有另一个错误)

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\Леон>
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 的颤振路径,直到颤振修复它

在此处输入图片说明

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

就我而言,我必须接受 android 许可证

在终端或 android studio 终端中运行此命令

flutter doctor --android-licenses

当您使用没有Android SDK平台的设备或仿真器时,通常会出现此问题。

无论您使用的是哪种模拟器,都必须检查android studio中是否已安装相应的Android SDK。

检查这些以及相应的android sdk平台版本

如果显示未安装,则安装它们,然后再次尝试Flutter Doctor。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM