未配置Dart SDK

时间:2018-02-06 19:49:43

标签: android-studio dart flutter

我安装了Flutter并设置了Android Studio。然后我在GitHub(https://github.com/flutter/flutter)上克隆了一个颤动的例子并在Android Studio中启动它,但它警告我“Dart SDK未配置”,这也发生在我的同事身上。但是,如果我在Android Studio中创建一个新项目,则完全没问题。

我做了什么:

  1. 已安装的Flutter

  2. 已安装的Android Studio,以及包含Dart插件的Flutter插件

  3. 在命令行中运行Flutter工作正常,所有五个测试都通过了。 (见下文)

  4.   

    [✓] Flutter(在Mac OS X 10.13.3 17D47上,locale en-US,channel dev)       •Flutter版本0.0.22 at / Users / katelyn / flutter       •框架修订版3001b3307d(7天前),2018-01-30 11:37:15 -0800       •引擎修订版8f2d72b183       •Tools Dart版本2.0.0-dev.16.0       •Engine Dart版本2.0.0-edge.7af4db0ea091dddca6b2da851e6dda8d7f9467e8

         

    [✓] Android工具链 - 针对Android设备开发(Android SDK 27.0.3)       •位于/ Users / katelyn / Library / Android / sdk的Android SDK       •未配置Android NDK位置(可选;对本机分析支持很有用)       •平台android-27,构建工具27.0.3       •Java二进制文件:/ Applications / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java       •Java版OpenJDK运行时环境(版本1.8.0_152-release-915-b08)

         

    [✓] iOS工具链 - 为iOS设备开发(Xcode 9.2)       •Xcode位于/Applications/Xcode.app/Contents/Developer       •Xcode 9.2,Build版本9C40b       •ios-deploy 1.9.2       •CocoaPods版本1.4.0

         

    [✓] Android Studio(3.0版)       •Android Studio / Applications / Android Studio.app/Contents       •Java版OpenJDK运行时环境(版本1.8.0_152-release-915-b08)

         

    [✓]连接设备       •为x86构建的Android SDK•emulator-5554•android-x86•Android 7.1.1(API 25)(模拟器)

    上周,我可以通过命令行(在该目录中)运行他们的示例,

    flutter run 
    

    但是现在我用Gradle显示了一些错误。

      

    在调试模式下为x86构建的Android SDK上启动lib / main.dart ...   初始化gradle ... 0.7s   解决依赖关系......
      *运行Gradle时出错:   退出代码1来自:/ Users / katelyn / AndroidStudioProjects / flutter / examples / flutter_gallery / android / gradlew app:properties:

         

    失败:构建因异常而失败。

         
        
    • 其中:   构建文件'/Users/katelyn/AndroidStudioProjects/flutter/examples/flutter_gallery/android/app/build.gradle'行:20

    •   
    • 出了什么问题:   评估项目':app'时出现问题。   3

    •   
    • 尝试:   使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

    •   
    • https://help.gradle.org

    • 获取更多帮助   
         

    在0s内建立失败

         

    请查看android /文件夹中的Gradle项目设置。

    提前抱歉,我没有足够的声誉来上传照片。

31 个答案:

答案 0 :(得分:66)

从git导入flutter项目后我遇到了同样的问题。这些是解决问题的步骤。

  1. 文件 - >设置 - >语言&框架带>颤振
  2. 选择flutter SDK路径:第一次安装flutter时,我们选择应安装颤振的位置。选择这个位置。
  3. 单击确定,android工作室将刷新。如果问题解决了,请继续。
  4. 如果您仍然遇到错误。
  5. 转到this链接并安装Dart。
  6. 在设置中转到同一个地方,..语言& Framework-> Dart并选择了SDK位置。
  7. 这解决了我的问题。

答案 1 :(得分:49)

通常发生在其他计算机上创建的项目中。要在Android Studio 3.1.3上修复此问题,请执行以下操作:

  1. 文件->设置(ctrl + alt + s)
  2. 语言和框架-> Dart
  3. 选中“为项目启用Dart支持...”
  4. 在“ Dart SDK路径”中,单击“ ...”,然后导航至Flutter SDK目录。在该目录下,您会找到“ bin / cache / dart-sdk” 。这是您应该使用的dart sdk路径。
  5. 点击“应用”
  6. 关闭项目,然后再次打开它(有时您需要执行此步骤,有时不需要)

编辑 2019-05-28-我不知道启用此选项的时间,但我注意到在Android Studio 3.4中,在其他开发的项目中启用Dart支持更容易机器。

  1. 文件->使用Gradle文件同步项目
  2. 构建完成后,单击编辑器面板顶部的“启用飞镖支持”。

答案 2 :(得分:27)

在我的机器中,flutter 安装在

C:\src\flutter

我将 dart sdk 路径设置为

C:\src\flutter\bin\cache\dart-sdk

这解决了我的问题

答案 3 :(得分:14)

我有同样的Dart SDK问题,我使用this作为我的解决方案。为了解决这个问题而不必每次我按照以下步骤使用终端来测试我的程序。

  1. 查找flutter SDK路径。我这样做是通过键入echo $PATH并使用/ flutter / bin查找路径。
  2. 假设您的路径类似于.../flutter/bin,只需添加/cache/dart-sdk/bin即可.../flutter/bin/cache/dart-sdk/bin
  3. .../flutter/bin/cache/dart-sdk/bin是您的Dart SDK的位置。假设你说同样的Dart SDK没有配置错误,你可以配置你的Dart SDK。单击配置选项并将.../flutter/bin/cache/dart-sdk/bin设置为SDK。这应该可以解决你的问题。如果没有进入下一步。
  4. 打开Android Studio偏好设置(Command +','),然后转到Languages and Frameworks>Dart
  5. 在Dart菜单下,您应该可以输入Dart SDK路径。
  6. 我使用IntelliJ IDEA完成了这些步骤,因此它们应该完全一样。如果这不起作用,有时制作一个虚拟Dart项目可以让事情再次发挥作用。这为我解决了类似的问题。

答案 4 :(得分:13)

如果其他答案对您不起作用

如果您正在使用* nixOS或Mac

  1. 打开终端,然后输入which flutter。在该目录下,您会得到类似/Users/mac/development/flutter/bin/flutter的内容,请转到cache文件夹,在这里您将找到dart-sdk或(和)dart-sdk.old文件夹。复制他们的路径。
  2. 在Mac上按ctrl+alt+scmd+,来打开首选项。下 Language & Frameworks choose Dart找到Dart SDK path。把那个 您第一步复制到的路径。点击“应用”。

如果这不能解决问题,则还必须设置Flutter SDK路径

  1. Language & Frameworks choose Flutter下找到Flutter SDK path字段。
  2. 相对于which flutter命令给您的文件夹层次结构,您的flutter SDK路径要高出两步。将其设置为您在此标题的步骤1中找到的字段。再次单击“应用”,然后单击“保存”或“确定”。

答案 5 :(得分:11)

通常是从github下载项目时发生的。通常,深色sdk包含内部抖动。

您可以按照以下几个步骤解决此问题

  1. 使用(Ctrl + Shift + s)进入设置
  2. 使用语言和框架
  3. 转到Dart
  4. 为项目启用Dark支持
  5. 更改黑暗的SDK路径C:\flutter\bin\cache\dart-sdk
  6. 应用

答案 6 :(得分:10)

我按照以下步骤解决了这个问题:

首先,转到:文件->设置->语言和框架->颤振

在“ flutter SDK路径”下,放置在您已安装Flutter的位置 我的位置是:C:\ src \ flutter

单击“应用”,然后单击“确定”,Android Studio将刷新。 该问题将得到解决。

答案 7 :(得分:7)

对于Mac:

点击顶部的Android Studio->单击首选项->语言和框架

->选择Flutter

->浏览Flutter SDK路径,您具有下载链接[“ https://flutter.dev/docs/get-started/install/macos”]

->单击确定 请享用!!!!!

答案 8 :(得分:6)

我正在使用 Win10 Pro ;

如果您使用的是 Android Studio ,并且收到此消息“ Error: Dart SDK is not found in specified location”,

我的解决方法是这个。

  1. 转到File/SettingsCtrl+Alt+S弹出设置窗口。
  2. 转到'Language & Frameworks并单击Dart
  3. 检查Enable Dart support for the project 'YOUR_PROJECT_NAME'
  4. 对于路径Dart SDK path:,输入存储flutter目录的位置。
  5. 向下钻取该目录,直到看到Dart SDK目录C:\flutter\bin\cache\dart-sdk。您也可以通过选中复选框并单击Check SDK updateCheck now以获取最新版本。

这对我有用。

答案 9 :(得分:5)

我最近在Android Studio上运行flutter项目时,在MAC设备上遇到了这个问题

解决此问题的步骤。

  1. 使用brew(https://dart.dev/get-dart)在MAC操作系统上安装dart

棕色水龙头dart-lang / dart

酿造飞镖

  1. 运行

酿造信息飞镖

  1. 它将为您输出类似这样的内容

请注意Dart SDK的路径:/ usr / local / opt / dart / libexec

在Android Studio设置中粘贴Dart SDK路径

答案 10 :(得分:4)

通常将Flutter安装(按插图)。

C:\src\Flutter

For Windows Installations...

您可以尝试运行flutter doctor来解决安装问题。 同时运行flutter upgrade以获取最新版本的Flutter和Dart SDK。

DART SDK可以在

找到
/flutter/bin/cache/dart-sdk

答案 11 :(得分:4)

对于Mac,

  1. 点击Android Studio,

  2. 然后转到首选项...

  3. 在此处在DART SDK PATH中设置路径。

enter image description here

为您的项目启用此功能(如图片展示)后,然后应用

答案 12 :(得分:3)

一种更快的方法..

打开android studio ..转到文件菜单....您将找到无效缓存/重新启动 ..单击它,并以弹出的弹出窗口作为 Invalidate and Restart < / em>

您的android studio将重新启动。全部完成。

它真的帮助了我。

答案 13 :(得分:2)

使用带有 -v 的医生可能会有所帮助

flutter doctor -v

对我来说结果是

 ...
Flutter version 2.0.5 at /usr/local/Caskroom/flutter/2.0.5/flutter
...

然后fhe dart路径可以设置为

/usr/local/Caskroom/flutter/2.0.5/flutter/bin/cache/dart-sdk

答案 14 :(得分:2)

只需转到 文件>设置>语言和框架> Dart

单击复选框为项目“ projectName”启用Dart支持 粘贴Dart SDK路径。

这是获取Dart SDK路径的方法,请按照给定的步骤进行操作 复制Dart SDK路径, 在Flutter SDK中 转到Flutter SDK所在的位置,然后

Flutter / bin / cache / dart-sdk,直到dart-sdk,复制路径并粘贴。

答案 15 :(得分:2)

运行此命令:

$ echo "$(dirname $(which flutter))/cache/dart-sdk"

您会得到类似的东西:

/home/lex/opt/flutter/bin/cache/dart-sdk

输入该值作为Dart SDK路径。

答案 16 :(得分:1)

就我而言,Dart还单独安装了最新的飞镖开发工具。因此,当IntelliJ建议我配置飞镖时,我点击了它,然后它指向public class MainActivity extends AppCompatActivity { public class DownloadTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... urls) { String result = ""; URL url; HttpURLConnection urlConnection =null; try { url = new URL(urls[0]); urlConnection= (HttpURLConnection) url.openConnection(); InputStream inputStream=urlConnection.getInputStream(); InputStreamReader reader = new InputStreamReader(inputStream); int data = reader.read(); while (data!=-1) { char current = (char)data; result+=current; data=reader.read(); } return result; }catch(Exception e) { e.printStackTrace(); Log.i("Error",e.getMessage()); return null; } } @Override protected void onPostExecute(String s) { super.onPostExecute(s); if(s!=null) { try{ TextView t = (TextView)findViewById(R.id.textview); t.setText(s); } catch (Exception a) { Log.e("Error",a.getMessage()); } }} } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DownloadTask downloadTask = new DownloadTask(); downloadTask.execute("http://192.168.0.69:8082/AndroidData/sample.php"); } }

因此,我不得不转到C:/tools/dart,并使用Dart SDK File->Settings->Language & Framework->dart将SDK路径添加到Flutter sdk路径中。

请注意,正如其他人指出的那样,如果您指出Flutter SDK路径,则可能不需要设置Dart SDK路径,因为 Flutter SDK随附Dart SDK。

答案 17 :(得分:1)

转到首选项->语言和框架-> Flutter

设置抖动的SDK路径 例如 :- / Users / apple / flutter-sdk / flutter

然后应用您的设置。

确保已安装所有依赖项。如果不 运行-flutter pub get安装依赖项

答案 18 :(得分:1)

上面的大多数选项都显示了如何在 Windows系统中配置Dart(如果已安装Dart,而Flutter Doctor则显示一切正常)。

在MacOS上,该选项在Android Studio>“偏好设置”(“ Command” +“,”)下可用

  1. 在左窗格中找到“语言和框架/ Dart”。

  2. 选中“启用Dart支持”并找到dart SDK。它位于Flutter SDK安装目录“ / flutter-installation-directory / flutter / bin / cache / dart-sdk”中。输入此内容将自动填充下面一行中的dart版本,指出已选中框架。

  3. 选中所需项目的“为以下模块启用Dart支持”框。

单击“应用”。点击确定。

也如上所述,这应该可以解决大多数用例。如果错误仍然存​​在,则可以转到“文件”>“使缓存无效/重新启动”。

enter image description here

答案 19 :(得分:0)

这里有很多答案,但我相信大多数人都没有抓住重点。

您正在从外壳程序运行该命令,大​​多数(如果不是全部)答案都与在IDE内部运行有关。有区别。

如果您使用外壳程序运行Dart / Flutter命令,请确保已设置必要的环境变量,以使命令知道在哪里寻找正确的工具。

就我个人而言,由于我主要在笔记本电脑上工作,因此我已经将主驱动器从开发工具所需的所有空间中卸载了,并将所有内容移至this answer中所述的外部驱动器中,所以我必须告诉我放置了各种组件的系统。

从命令行运行命令与从IDE运行命令一样,因为IDE可以存储此配置,而外壳程序则不能,除非您将其存储在外壳程序的启动文件中。

我使用macOS,Homebrew和ZShell,并且我希望将Dart SDK作为单独的安装,因此我可以通过Homebrew跟踪Dart的DEV分支,而Flutter的安装是使用BETA分支。

因此,在我的~/.zprofile中,我有:

export HOMEBREW_PREFIX="$(brew --prefix)"

# Android / Java, Dart / Flutter related
export FLUTTER_ROOT="${SSD}/Lib/flutter" # Path to your main Flutter install
export DART_SDK="${HOMEBREW_PREFIX}/opt/dart/libexec" # Separate Dart SDK install
export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home" # JDK
export ANDROID_SDK_ROOT="${SSD}/Lib/android/sdk" # Top-level Android SDK directory
export ANDROID_HOME="${SSD}/Lib/android/sdk" # Same as above, needed by other tools I use
export ANDROID_AVD_HOME="${SSD}/Lib/android/avd" # Path to the moved emulators etc

然后,我确保按正确的顺序设置$PATH变量,因此当我执行Dart特定命令时,将使用最新的Dart DEV分支,而Flutter命令将使用颤动的BETA分支。

如果您使用的是Zsh或Bash,请分别在.zshrc或.bashrc的末尾添加其他路径,因为登录后启动的每个终端机/ Shell都将调用这些路径:

# Prepending to already established PATH

export PATH="\
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin:\
${HOME}/.pub-cache/bin:\
${HOMEBREW_PREFIX}/opt/dart/libexec/bin:\
${SSD}/Lib/flutter/.pub-cache/bin:\
${SSD}/Lib/flutter/bin:\
${SSD}/Lib/android/sdk/platform-tools:\
${SSD}/Lib/android/sdk/tools/bin:\
${SSD}/Lib/android/sdk/emulator:\
${PATH}"

# If you're using Zsh, add this to clean up duplicate entries building up from running this 
# in every Terminal you launch:
# Remove duplicates from $PATH
typeset -aU path;

# Not sure, but in Bash, to remove duplicates you could do something like:
echo -n $PATH | awk -v RS=: '!($0 in a) {a[$0]; printf("%s%s", length(a) > 1 ? ":" : "", $0)}'

现在,这是一堆东西,但这是我保持操作顺序的方式...

答案 20 :(得分:0)

在Mac上

尝试了一堆东西之后,几次为flutter项目做一个新的git clone,但无济于事,最后唯一可行的是下载MacOS .zip文件并重新做一个那样安装

https://flutter.dev/docs/get-started/install/macos

答案 21 :(得分:0)

下载和配置Dart SDK

如果您还没有Dart SDK,请安装它。您可以单独获得它,也可以下载Flutter SDK(从Flutter 1.21开始),其中包括完整的Dart SDK。

选择一个:

这里是配置Dart支持的一种方法:

  1. 启动IDE,然后安装Dart插件。要找到飞镖plugin, 在“欢迎使用”屏幕中,选择Configure > Plugins,然后单击 Install JetBrains plugin,然后搜索或向下滚动直到 找到飞镖。安装Dart插件后,重新启动IDE。

  2. 创建一个新的Dart项目:

    • 在“欢迎”屏幕上,单击Create New Projec t。
    • 在下一个对话框中,单击Dart
  3. 如果没有看到Dart SDK路径的值,请输入。

    • 例如,SDK路径可能是<dart installation directory>/dart/dart-sdk

答案 22 :(得分:0)

此错误的原因可能是您没有安装Flutter,或者您使用的是Flutter 1.21的旧版本。因此,建议首先检查以上内容。如果以上都不是导致错误的原因,则可以按照以下步骤操作,这可能会对您有所帮助。

  1. 转到文件->设置
  2. 然后使用语言和框架-> Flutter

Flutter SDK路径此处应为空。问题在这里

  1. 复制Flutter SDK路径
  2. 将其粘贴到空白文本字段中
  3. 应用并确定

答案 23 :(得分:0)

我解决了,请尝试: 点击打开SDK设置并打开Flutter,然后在下载时添加SDK位置

答案 24 :(得分:0)

实际上,这是一个好习惯,在运行应用程序之前先检查您的设置。

  1. 您是否检查过Java SDK路径?(实际上,如果您已经运行了另一个应用程序但未能运行它,则可能是从Github或其他网站下载的。
  2. 然后您可能需要检查颤动设置和飞镖设置。

答案 25 :(得分:0)

通过单击在MacOS上解决了我的问题

如果未从此link下载扑通,

答案 26 :(得分:0)

操作系统:Ubuntu 19.04

IntelliJ:2019.1.2RC

我已经阅读了所有先前的答案,并且尝试使它工作一段时间后,我发现IntelliJ Flutter插件不希望指向which flutter的路径,而是需要基本安装文件夹。

因此修复了2个步骤:

  1. 安装IntelliJ Flutter插件:
    • Ctrl + Shift + a (打开操作)
    • 键入搜索“ Flutter”,然后输入Install并重新启动IntelliJ
  2. 配置Flutter插件:
    • Ctrl + Alt + s (打开设置)
    • 输入搜索“ Flutter”,在语言和框架
    • 下选择选项
    • 打开终端which flutter 输出 PATH_TO_FLUTTER/bin/flutter,您只需要 PATH_TO_FLUTTER,因此请删除/bin...
    • Flutter SDK path输入中粘贴位置并应用。

这将要求您重新启动IntelliJ,并且应该同时配置Flutter和Dart:

enter image description here

祝你好运!

答案 27 :(得分:0)

安装 Flutter 后,安装 Dart sdk 的最佳方式是创建一个新项目。在此窗口中,单击安装 SDK。这将安装所有必要的工作。

答案 28 :(得分:0)

与上述类似,我通过使用flutter(未克隆)创建的项目从android Studio偏好设置|中获得了dart sdk路径语言和框架|镖。然后,类似地,在克隆的项目中转到“首选项” |“其他”。语言和框架| Dart和“为项目启用Dart支持...”,然后输入保存的路径。

答案 29 :(得分:-1)

也许您可以尝试通过在终端中执行“flutter pub get”来同步依赖项。

答案 30 :(得分:-1)

就我而言,它正在更新 android studio 中的 flutter sdk 路径、首选项。