Dart SDK не настроен


139

Я установил Flutter и настроил Android Studio. Затем я клонировал пример флаттера на GitHub ( https://github.com/flutter/flutter ) и запустил его в Android Studio, но он предупреждает меня: «Dart SDK не настроен», это случилось и с моим коллегой. , Но если я создам новый проект в Android Studio, никаких проблем.

Что я наделал:

  1. Установлен флаттер

  2. Установлена ​​Android Studio вместе с плагином Flutter, включая плагин Dart.

  3. Запуск Flutter в командной строке работает нормально, все пять тестов пройдены. (Увидеть ниже)

[✓] Flutter (в Mac OS X 10.13.3 17D47, локаль en-US, канал dev) • Flutter версии 0.0.22 в / Users / katelyn / flutter • Версия Framework 3001b3307d (7 дней назад), 30 января 2018 г. 11:37:15 -0800 • Версия двигателя 8f2d72b183 • Инструменты Dart версии 2.0.0-dev.16.0 • Версия двигателя Dart 2.0.0-edge.7af4db0ea091dddca6b2da851e6dda8d7f9467e8

[✓] Набор инструментов Android - разработка для устройств Android (Android SDK 27.0.3) • Android SDK в / Users / katelyn / Library / 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, версия сборки 9C40b • ios-deploy 1.9.2 • CocoaPods версии 1.4.0

[✓] Android Studio (версия 3.0) • Android Studio в / Applications / Android Studio.app/Contents • Версия Java OpenJDK Runtime Environment (сборка 1.8.0_152-release-915-b08)

[✓] Подключенные устройства • Android SDK для x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (эмулятор)

На прошлой неделе я могу запустить их пример через командную строку (в этом каталоге),

flutter run 

но теперь он показывает некоторые ошибки с Gradle.

Запуск lib / main.dart на Android SDK, созданный для x86 в режиме отладки ... Инициализация gradle ... 0.7s Разрешение зависимостей ...
* Ошибка при запуске Gradle: код выхода 1 из: / Users / katelyn / AndroidStudioProjects / flutter / examples / flutter_gallery / android / gradlew приложение: свойства:

ОШИБКА: сбой при сборке за исключением.

  • Где: Строка файла сборки /Users/katelyn/AndroidStudioProjects/flutter/examples/flutter_gallery/android/app/build.gradle: 20

  • Что пошло не так: возникла проблема при оценке проекта ": приложение". 3

  • Попробуйте: запустить с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить дополнительный вывод журнала.

  • Получите дополнительную помощь на https://help.gradle.org

СБОЙ СТРОИТЕЛЬСТВА через 0 с

Просмотрите настройку проекта Gradle в папке android /.

Заранее извините, у меня недостаточно репутации, чтобы загружать фото.


Вы можете использовать Android Studio, открыть и запустить свой более плоский проект. Я только что успешно протестировал его в Android Studio
Крунал 01

Вы обновили что-нибудь в своемprojectSource > android > gradle.build
Krunal 01

Ответы:


212

У меня была такая же проблема после импорта проекта flutter из git. Вот шаги для решения проблемы.

  1. Файл-> Настройки-> Язык и структура-> Flutter
  2. Выберите путь к SDK flutter: при первой установке flutter мы выбираем место, где он должен быть установлен. Выберите это место.
  3. Нажмите ОК, и студия Android обновится. Продолжайте, если проблема решена.
  4. Если вы все еще сталкиваетесь с ошибкой.
  5. Перейдите по этой ссылке и установите Dart.
  6. Зайдите в то же место в настройках, ..Language & Framework-> Dart и выберите расположение SDK.

Это решило проблемы для меня.


Dart и выбрал SDK location означает - какой путь нужно выбрать
Avid Programmer

Все шаги идеальны, и после этого вы не можете решить, просто откройте pubspec.yamlи щелкните Packages Get. Это все решит.
Пурвик Рана,

1
это сработало для меня
core114

123

Обычно это происходит с проектами, созданными на других машинах. Чтобы исправить это в 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. После сборки нажмите «Включить поддержку дротиков» в верхней части панели редактора.

4
Работал у меня, и действительно, проект был создан на другой машине.
Саад Исмаил

3
"bin / cache / dart-sdk" был недостающей частью информации.
Raymond

1
Я сделал все, чтобы настроить флаттер и дротик, единственное, чего не хватало, - это закрыть и снова открыть студию Android, чтобы она заработала
Серхио Пардо

1
Работал у меня на Mac после оформления заказа с Github, спасибо!
Fellow7000

1
Спасибо. Это решило мою проблему.
Мухаммад Шахид

33

У меня была такая же проблема с Dart SDK, и я использовал ее для своего решения. Чтобы устранить проблему, не используя терминал для проверки моих программ каждый раз, я выполнил следующие шаги.

  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качестве своего SDK. Это должно решить вашу проблему. Если нет, переходите к следующему шагу.
  4. Откройте настройки Android Studio (Command + ',') и перейдите в Languages and Frameworks>Dart.
  5. В меню Dart вы должны иметь возможность ввести свой путь к Dart SDK .

Я выполнил эти шаги с помощью IntelliJ IDEA, поэтому они должны быть примерно такими же. Если это не сработает, иногда создание фиктивного проекта Dart может снова заставить все работать. Это устранило аналогичную проблему для меня.


3
Должно быть небольшое изменение: путь должен быть таким: /cache/dart-sdkбез / bin в конце.
s_khan92

18

Если другие ответы не помогли вам

Если вы используете * nixOS или Mac

  1. Откройте терминал и введите which flutter. Вы получите что-то вроде того, /Users/mac/development/flutter/bin/flutterчто в этом каталоге перейдите в cacheпапку, здесь вы найдете папку dart-sdk или (и) dart-sdk.old. Скопируйте их пути.
  2. Откройте настройки, нажав ctrl+alt+sили cmd+,на Mac. Под Language & Frameworks choose Dartпоиском Dart SDK path. Поместите туда путь, который вы скопировали на первом этапе. Щелкните Применить.

Если это не решило проблему, вам также необходимо указать путь Flutter SDK.

  1. Под Language & Frameworks choose Flutterи найдите Flutter SDK pathполе.
  2. Ваш путь к SDK flutter находится на два шага выше в иерархии папок относительно того, какая which flutterкоманда вам предоставлена. Установите его в поле, которое вы нашли на шаге 1 этого заголовка. Снова нажмите «Применить» и нажмите «Сохранить» или «ОК».

13

Flutter обычно устанавливается (согласно рисункам) в.

C:\src\Flutter

Для установок Windows ...

Вы можете попробовать запустить программу, если flutter doctorвозникнут проблемы с установкой. Также запустите, flutter upgradeчтобы получить последнюю версию SDK Flutter и Dart.

DART SDK можно найти по адресу

/flutter/bin/cache/dart-sdk

Это сработало лучше, я просто указал SDK flutter и решил проблему с Dart .
Лутая Хузайфа Идрис,

12

Обычно это происходит, когда вы загружаете проекты с гитхаба. обычно dark sdk содержит внутри flutter.

вы можете решить эту проблему, выполнив следующие несколько шагов

  1. перейти к настройке с помощью (Ctrl + Shift + s)
  2. перейти на языки и рамки
  3. иди в Дарт
  4. Включить поддержку Dark для проекта
  5. Измените темный путь SDK C:\flutter\bin\cache\dart-sdk
  6. Подать заявление

3
и не забудьте выбрать модуль проекта перед подачей заявки :)
Яко

9

Я использую Win10 Pro ;

Если вы используете Android Studio и получаете это сообщение ' Error: Dart SDK is not found in specified location',

Мое исправление было таким.

  1. Перейдите в File/Settingsили, Ctrl+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 updateустановить флажок и щелкнуть, Check nowчтобы получить последнюю версию.

Это сработало для меня.


8

Перейти к настройкам -> Языки и рамки -> Flutter

Задайте путь к sdk для flutter, например: - / Users / apple / flutter-sdk / flutter

затем примените свои настройки.

Убедитесь, что все зависимости установлены. если не запустить - flutter pub getустановить зависимости



4

Недавно я столкнулся с этой проблемой на своем устройстве MAC, когда запускал проект flutter в Android Studio.

Как это исправить.

  1. установить dart на ОС MAC с помощью brew ( https://dart.dev/get-dart )

заварочный кран dart-lang / dart

варить установить дротик

  1. бегать

варить информацию дротик

  1. Это даст вам что-то вроде этого

Обратите внимание на путь к Dart SDK: / usr / local / opt / dart / libexec

вставьте путь к Dart SDK в настройках Android Studio


2

Выполните эту команду:

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

Вы получите что-то вроде:

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

Введите это значение в качестве пути к Dart SDK.


2

Просто зайдите в File> Settings> Languages ​​& Frameworks> Dart.

Установите флажок «Включить поддержку Dart для проекта projectName». Вставьте путь к Dart SDK.

Вот как вы получаете путь к Dart SDK, следуйте инструкциям, скопируйте путь к Dart SDK, который находится в Flutter SDK, перейдите в место, где находится ваш Flutter SDK, затем,

Flutter / bin / cache / dart-sdk, до dart-sdk скопируйте путь и вставьте его.


В файле flutter есть dart-sdk, перезагружать не нужно. tnx
fucukur

1

ОС: Ubuntu 19.04

IntelliJ: 2019.1.2RC

Я прочитал весь предыдущий ответ, и через некоторое время, пытаясь заставить это работать, я обнаружил, что плагин IntelliJ Flutter не хочет, чтобы путь к which flutter вместо этого ему нужна базовая установочная папка.

Итак, 2 шага, которые исправили:

  1. Установите плагин IntelliJ Flutter:
    • Ctrl+ Shift+a (Открытые действия)
    • Введите поиск "Flutter", нажмите "Установить" и перезапустите IntelliJ.
  2. Настроить плагин Flutter:
    • Ctrl+ Alt+ s(Открыть настройки)
    • Введите в поиске "Flutter", выберите вариант в разделе " Язык и рамки".
    • Открыть терминал which flutter вывода PATH_TO_FLUTTER/bin/flutter вы ТОЛЬКО НУЖНОPATH_TO_FLUTTER так удалить все из/bin...
    • Вставьте местоположение на Flutter SDK pathвходе и примените.

Затем вам будет предложено перезапустить IntelliJ, и вы должны настроить Flutter и Dart:

введите описание изображения здесь

Удачи!


1

В моем случае Dart также установлен отдельно для разработки dart с последними версиями. Поэтому, когда IntelliJ предлагает мне настроить дротик, я ударил его, а затем он указал наC:/tools/dart то, что это так.

Итак, мне пришлось пойти File->Settings->Language & Framework->dartи добавить путь к SDK к моему пути к Flutter sdk с помощью Dart SDK C:\flutter\bin\cache\dart-sdk.

Обратите внимание, что, как уже упоминалось, если вы указали путь Flutter SDK, вам может не понадобиться настраивать путь Dart SDK, потому что Flutter SDK поставляется с Dart SDK в нем .


0

Как и в предыдущем случае, я получил путь к dart sdk из проекта, который я создал с помощью flutter (не клонированного), перейдя в Android Studio Preferences | Языки и фреймворки | Dart. Затем аналогично в клонированном проекте перейдите в Настройки | Языки и фреймворки | Dart и «Включить поддержку Dart для проекта ...» и введите путь, который вы сохранили.


0

Здесь много ответов, но я считаю, что большинство упускает из виду суть.

Вы запускаете эту команду из оболочки , и большинство, если не все ответы, связаны с запуском внутри IDE . Есть разница.

Если вы используете оболочку для запуска команд Dart / Flutter, убедитесь, что вы установили переменные среды, необходимые для того, чтобы команды знали, где искать нужные инструменты.

Лично, поскольку я в основном работаю на ноутбуке, я выгрузил свой основной диск из всего пространства, необходимого для инструментов разработки, переместив все на внешний диск, как описано в этом ответе , поэтому я должен сообщить системе, где я разместил различные компоненты.

То же самое касается запуска команд из командной строки по сравнению с IDE, поскольку IDE может хранить эту конфигурацию, а оболочка - нет, если вы не сохраните ее в файлах запуска оболочки.

Я использую macOS, Homebrew и ZShell, и мне нравится иметь Dart SDK как отдельную установку, поэтому я могу отслеживать ветку DEV для Dart через Homebrew, в то время как моя установка 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 будут использовать ветку Flutter BETA.

Если вы используете Zsh или Bash, добавьте дополнительные пути в конец .zshrc или .bashrc соответственно, так как они вызываются для каждого терминала / оболочки, запускаемого после входа в систему:

# 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)}'

Да, это было наелось, но так я поддерживаю порядок операций ...


0

Более быстрый способ ..

Откройте студию Android ... перейдите в меню файлов ... там вы найдете Недействительные кеши / перезагрузите ... щелкните его и ответьте на всплывающее окно как Invalidate и Restart

Ваша студия Android будет перезапущена, и все готово.

Мне это действительно помогло.


-3

На самом деле, это хорошая привычка проверять свои настройки перед запуском приложения.

  1. Вы проверяли путь java SDK? (На самом деле, если вы уже запустили другое приложение, но не смогли его запустить, оно может быть загружено с Github или других.
  2. тогда вам, возможно, придется проверить настройки флаттера и настройки дротика.

Но что здесь должен делать путь java SDK?
Сисир
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.