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

我所做的:

安装了颤振 安装了Android Studio,以及Flutter插件,包括Dart插件 在命令行中颤振运行正常,所有五个测试都通过了。(见下文)

[✓] Flutter (on Mac OS X 10.13.3 17D47, locale en-US, channel dev) • Flutter version 0.0.22 at /Users/katelyn/flutter • Framework revision 3001b3307d (7 days ago), 2018-01-30 11:37:15 -0800 • Engine revision 8f2d72b183 • Tools Dart version 2.0.0-dev.16.0 • Engine Dart version 2.0.0-edge.7af4db0ea091dddca6b2da851e6dda8d7f9467e8 [✓] Android toolchain - develop for Android devices (Android SDK 27.0.3) • Android SDK at /Users/katelyn/Library/Android/sdk • Android NDK location not configured (optional; useful for native profiling support) • Platform android-27, build-tools 27.0.3 • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08) [✓] iOS toolchain - develop for iOS devices (Xcode 9.2) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 9.2, Build version 9C40b • ios-deploy 1.9.2 • CocoaPods version 1.4.0 [✓] Android Studio (version 3.0) • Android Studio at /Applications/Android Studio.app/Contents • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08) [✓] Connected devices • Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)

上周,我可以通过命令行运行他们的例子(在那个目录下),

flutter run 

但现在我显示一些错误与Gradle。

Launching lib/main.dart on Android SDK built for x86 in debug mode... Initializing gradle... 0.7s Resolving dependencies... Error running Gradle: Exit code 1 from: /Users/katelyn/AndroidStudioProjects/flutter/examples/flutter_gallery/android/gradlew app:properties: FAILURE: Build failed with an exception. Where: Build file '/Users/katelyn/AndroidStudioProjects/flutter/examples/flutter_gallery/android/app/build.gradle' line: 20 What went wrong: A problem occurred evaluating project ':app'. 3 Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Get more help at https://help.gradle.org BUILD FAILED in 0s Please review your Gradle project setup in the android/ folder.


当前回答

我使用的是Win10 Pro;

如果你正在使用Android Studio,并得到这个消息“错误:Dart SDK未在指定位置找到”,

我的解决办法是这样的。

点击文件/设置或Ctrl+Alt+S打开设置窗口。 转到“语言和框架”,点击Dart 选中“YOUR_PROJECT_NAME”项目启用Dart支持 对于Path Dart SDK路径:输入存储颤振目录的位置。 向下钻取该目录,直到看到Dart SDK目录C:\flutter\bin\cache\ Dart - SDK。您还可以检查SDK更新,通过勾选复选框,然后单击“立即检查”来获得最新版本。

这对我很管用。

其他回答

修改之前的答案,以反映新的变化:

自Flutter 1.21以来的更改

从Flutter 1.21开始,Flutter SDK包含完整的Dart SDK。 所以如果你安装了Flutter,你可能不需要明确下载Dart SDK,除非:

你不用颤振 您使用的是1.21之前版本的Flutter。 您希望减少磁盘空间需求 您希望Dart SDK分发渠道/版本与Flutter SDK中捆绑的渠道/版本更好地分离。

安装Dart SDK

就我个人而言,因为我主要在笔记本电脑上工作,我已经从开发工具所需的所有空间中卸载了我的主驱动器,将所有东西都移动到这个回答中所描述的外部驱动器上

轻松Dart SDK安装

AFAIK, Dart只依赖于系统$PATH变量中有$SDK/bin目录可用。 至于安装SDK本身,无论是Dart还是Flutter + Dart,我发现下载你想要的频道(稳定版、beta版或dev版)的.zip文件,将其解压到硬盘上的某个位置,并在$ path的早期包含SDK /bin目录的路径是正确的方法。 如Dart文档中所述

一个可能的问题

从命令行运行命令与在IDE(或其他GUI应用程序)中不同,因为GUI应用程序通常将配置存储在自己的配置文件中,而各种shell将其配置存储在shell启动文件中,使用$PATH变量来决定它是否了解给定的应用程序/命令。它还定义了查找命令的顺序。

除非GUI应用程序(在本例中是IDE)在启动程序中生成一个shell,并以这种方式填充环境,否则这两种配置可以完全独立,并指向不同的工具/路径/实用程序。

这可以解释你提到的场景:

但如果我在Android Studio中创建一个新项目,就完全没有问题。

你可以通过Android Studio中的shell环境来定义环境

文件->新项目设置->新项目设置->工具->终端

在这里,你可以告诉Android Studio IDE本身应该从哪个shell中获取环境(作为登录shell的路径),定义新变量并确保启用了shell Integration选项。

现在你可以有相同的(或不同的,如果你愿意)环境运行,例如,纯Dart项目通过命令行和颤振应用程序在IDE中运行,通过选择你应该已经在你的shell启动文件中定义的值。

Android Studio配置

注意:从Android Studio 4.2开始,ANDROID_SDK_HOME环境变量已弃用,并已被ANDROID_PREFS_ROOT取代

这些都是变化的主题,所以总是检查Android Studio配置指南和 Android SDK相关部分安装指南之前设置这些。 这并非总是必需的,但却是排除故障的好方法。

颤振通常安装(按插图)在。

C:\src\Flutter

对于Windows安装…

您可以尝试运行flutter doctor来解决安装问题。 还要运行flutter升级以获得最新版本的flutter和Dart sdk。

DART SDK可以在

/flutter/bin/cache/dart-sdk

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

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

在“flutter SDK path”下面,输入您安装flutter的位置 我的是:C:\src\flutter

点击应用,然后确定,android工作室将刷新。 问题会解决的。

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

Find flutter SDK path. I did so by typing in echo $PATH and finding the path with /flutter/bin. Assuming your path is something like .../flutter/bin just add on /cache/dart-sdk/bin making it .../flutter/bin/cache/dart-sdk/bin. This .../flutter/bin/cache/dart-sdk/bin is the location of your Dart SDK. Assuming you say the same Dart SDK is not configured error accompanied by something where you can configure your Dart SDK. You click the configure option and set .../flutter/bin/cache/dart-sdk as your SDK. That should fix your problem. If not head over to the next step. Open your Android Studio preferences(Command + ',') and go to Languages and Frameworks>Dart. Under the Dart menu, you should be able to enter your Dart SDK path.

我使用IntelliJ IDEA完成了这些步骤,所以它们应该是差不多的。如果这不起作用,有时做一个虚拟的Dart项目可以让事情重新工作。这为我解决了一个类似的问题。

事实上,在运行应用程序之前检查设置是一个好习惯。

你检查过java SDK路径吗?(事实上,如果你已经运行了另一个应用程序,但未能运行这个,这可能是从Github或其他人下载的。 然后你可能需要检查颤振设置和省道设置。