颤动无法找到Android SDK

时间:2017-06-11 16:00:18

标签: android flutter

我已安装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

但是,如果我进入/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而不是拱形以及其他一些差异。如何解析flutter doctor并让我的应用运行?

26 个答案:

答案 0 :(得分:21)

如果您使用的是Android Studio 3,则可以转到文件 - >配置您的平台SDK。项目结构并选择您的平台sdk。

希望这适合你。

enter image description here

答案 1 :(得分:18)

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

enter image description here

问题有点明显,这是由于抖动未找到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文件,请使用您的文件,例如.bashrc):

source ~/.zshrc

flutter doctor之后正常运行。

enter image description here

答案 2 :(得分:9)

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

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

在那之后,

df
    deal  pos_code
0    657      1000
1    680      1001
2    694      1002
3    694      1002
4    694      1002
5    694      1002
6    695      1003
7    695      1003
8    695      1003
9    695      1003
10   696      1004
11   696      1004

你准备好了!

答案 3 :(得分:4)

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

答案 4 :(得分:2)

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

答案 5 :(得分:1)

我终于解决了问题! 如果您不想使用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

答案 6 :(得分:1)

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

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

以下是拱形的android-sdk-platform-tools Aur包,以及guide如何安装它。

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

答案 7 :(得分:1)

这对我有用

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

答案 8 :(得分:1)

我解决了! 我把我的Android SDK放在F:/ androidsdk之前 因此,当我运行“ flutter配置”时,android sdk不会链接。 要将抖动与android sdk链接起来,只需在下面键入命令:

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

我只是改变

flutter config --android-sdk F:/androidsdk

我希望这是可行的。

答案 9 :(得分:0)

对于Windows 10版本2004

我添加了一个名为align-self-center的用户环境变量,其值为ANDROID_HOME。您必须将SDK-PATH和SDK-VERSION替换为您的自定义值。

然后我将另一个名为{SDK-PATH}\build-tools\{SDK-VERSION}的值附加到系统%ANDROID_HOME%变量中。

然后它按预期工作。

答案 10 :(得分:0)

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

答案 11 :(得分:0)

我也有类似的错误。添加提取的flutter sdk的flutter路径直到flutter修复它

enter image description here

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

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

enter image description here

    根文件夹中的
  1. local.properties

enter image description here

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

答案 14 :(得分:0)

在 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找到解决了< /strong> 也是!

附注。仔细阅读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\Леон>

答案 15 :(得分:0)

Windows 命令修复 SDK 路径

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

www.xyz.com?key=ab89xd

记得把引号放在/path/to/android/sdk

示例:flutter config --android-sdk /path/to/android/sdk

答案 16 :(得分:0)

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

答案 17 :(得分:0)

对我来说,这很简单。

如果IDE无法加载let months = ['Jan', 'March', 'April', 'June']; let output = months.splice(0, 1); //Output: ["Jan"] //Months: ['March', 'April', 'June'] ,通常会发生这种问题。

要解决此问题,请执行以下步骤:

转到SDK-> file menu-> project structure-> project settings

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

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

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

答案 18 :(得分:0)

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

答案 19 :(得分:0)

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

    时,使用y保存并关闭nano。
  4. 使用以下来源获取zshrc文件

    source $HOME/.zshrc

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

    echo $ANDROID_SDK_ROOT

答案 20 :(得分:0)

环境变量 中 使 变量ANDROID_HOME

并添加 SDK 的路径 Andriod stideo->设置-> SDK Coppy 路径示例

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

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

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

 %ANDROID_HOME%\tools 

%ANDROID_HOME%\platform-tools

答案 21 :(得分:0)

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

设置Android SDK路径 -输入终端scrollTo

答案 22 :(得分:0)

您只需添加

  

flutter config --android-sdk“ path”

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

刷新图像:enter image description here

答案 23 :(得分:0)

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

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

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

答案 24 :(得分:0)

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

答案 25 :(得分:-1)

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

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

check these and respective android sdk platform version

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