трепетание: нет подключенных устройств

227

Я пытаюсь создать пример приложения с флаттером (новая установка) Android Studio также установлена ​​(новая установка)

Вот вывод flutter run

flutter run  
No connected devices.

выход flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel beta, v0.1.5, on Linux, locale en_US.UTF-8)
[] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[] Android Studio (version 3.0)
[!] VS Code (version 1.20.1)
[!] Connected devices
! No devices available

! Doctor found issues in 2 categories.

Есть ли решение этой проблемы?

Аднан Мумтаз
источник
8
У вас подключено устройство (включена отладка по USB) или запущен эмулятор?
Гюнтер Цохбауэр
сделать, flutter devicesчтобы проверить, может ли флаттер найти какие-либо устройства или нет
denvercoder9
Ошибка «Нет подключенных устройств» обычно означает, что вы не включили на своем устройстве параметры разработчика.
Шому
Для меня это происходит в течение примерно 1 минуты, а потом кажется, что это правильно. Android-студия сразу же работает нормально, но Flutter кажется слишком медленным практически во всем, включая распознавание эмулятора. Может быть, набраться терпения и вернуться после чашки кофе?
Митч
7
У меня была такая же проблема, я исправил, изменив USB-кабель, потому что некоторые кабели предназначены только для питания.
Тьяго Сильва Феррейра

Ответы:

187

Flutter поддерживает устройства и симуляторы для iOS и Android.

В терминале выполните flutter devicesкоманду, чтобы убедиться, что Flutter распознает подключенное устройство Android.

Вот справочный документ, Как вы можете настроить Device / Simulator для запуска вашего приложения.

Для, Android (в системе Mac)

Настройте свое устройство Android

Чтобы подготовиться к запуску и тестированию приложения Flutter на устройстве Android, вам потребуется устройство под управлением Android 4.1 (уровень API 16) или выше.

  1. Включите параметры разработчика и отладку по USB на вашем устройстве. Подробные инструкции доступны в документации Android.
  2. С помощью USB-кабеля подключите телефон к компьютеру. Если появится запрос на вашем устройстве, авторизуйте ваш компьютер для доступа к вашему устройству.
  3. В терминале выполните flutter devicesкоманду, чтобы убедиться, что Flutter распознает подключенное устройство Android.
  4. Запустите ваше приложение, запустив Flutter Run.

По умолчанию Flutter использует версию Android SDK, на которой основан ваш инструмент adb. Если вы хотите, чтобы Flutter использовал другую установку Android SDK, вы должны установить переменную среды ANDROID_HOME для этого установочного каталога.

Настройте эмулятор Android

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

  1. Включите ускорение виртуальной машины на вашем компьютере.
  2. Запустите Android Studio> Инструменты> Android> AVD Manager и выберите Создать виртуальное устройство.
  3. Выберите определение устройства и нажмите Далее.
  4. Выберите один или несколько системных образов для версий Android, которые вы хотите эмулировать, и нажмите Далее. Рекомендуется образ x86 или x86_64.
  5. В разделе «Эмулированная производительность» выберите «Оборудование - GLES 2.0», чтобы включить аппаратное ускорение.
  6. Убедитесь, что конфигурация AVD правильная, и выберите Готово.

    Для получения подробной информации о вышеупомянутых шагах см. Управление AVD.

  7. В диспетчере виртуальных устройств Android нажмите «Выполнить» на панели инструментов. Эмулятор запускается и отображает холст по умолчанию для выбранной версии ОС и устройства.

  8. Запустите ваше приложение, запустив Flutter Run. Имя подключенного устройства - Android SDK, для которого платформа представляет семейство микросхем, например x86.

-

Откройте и подключите устройство с помощью Android Studio:

Вот более простой способ открыть и подключить симуляторы / устройства.

Android Studio показывает список эмуляторов / симуляторов (установленных в вашей системе) или устройств (подключенных к вашей системе). Просто выберите устройство, которое вы хотите открыть, из списка и запустите проект.

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

Krunal
источник
18
Я не могу заставить это работать. Эмулятор работает просто отлично. Я могу развернуть и запустить приложение Android к нему. Но проект флаттера от студии Android продолжает жаловаться, что эмулятора нет.
abjbhat
8
То же самое здесь, я получаю «Подключенные устройства не найдены; пожалуйста, подключите устройство или посмотрите flutter.io/setup для получения инструкций по началу работы». Между тем я вижу эмулятор, который сидит там на том же экране, работает и работает.
olisteadman
{Решено} Через некоторое время я сделал пробную n-ю ошибку, я точно знаю, что эта проблема вызвана поврежденным файлом adb (по умолчанию «устройства flutter» будет вызывать файл «adb», предоставленный SDK, например мой файл adb.exe). существует в "C: \ Android \ Sdk \ platform-tools"). Чтобы решить эту проблему, нужно заменить этот файл другим файлом ADB (убедитесь, что вы сделали предыдущую резервную копию). Вы можете заменить исходный файл ADB моим файлом ADB, который вы можете скачать по следующей ссылке: gofile.io/ ? c = c0M3DC . Спасибо
nurulhudamustaqim
что насчет ios на mac? У меня есть несколько компьютеров Mac, и мой MBA 2012 года (USB-A) сделает подключение доступным только в том случае, если работает itunes. При подключении того же устройства к моему флаттеру 2019 МБ (USB-C) устройство не распознает устройство, даже если это распознает iTunes,
Ричард
Мой Macbook Air 2012 года с USB-A может обнаруживать мой iPhone5, но ТОЛЬКО если я запускаю iTunes. Мой MacBook Air 2019 с USB-C не может обнаружить тот же iPhone5 (да, доверенный и да работает в XCode и iTunes). Мой android-телефон работает в обеих системах (без iTunes), однако на MBA 2019 мне нужен ключ USB-A / C.
Ричард
96

конфигурация флаттера --android-sdk ANDROID_SDK_PATH

ИЛИ

  • Устройство не найдено (при настройке Flutter в андроид студии)
  • Структура проекта -> выбрать последний API Android в Project SDK

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

Анилкумар Патель
источник
2
Установив и Project SDK, и Module SDK исправили это. Спасибо.
Шириш Кадам
2
Это решило мою проблему. У меня были запущенные устройства, но флаттер не смог их обнаружить.
Махди-
Решено для меня тоже. Спасибо!
Ли Кейси
Работал на меня. SDK не был выбран
phyyyl
Решено для меня тоже.
gamofe
35

Я решил проблему AVD с флаттером, используя консоль флаттера.

Шаг 1:

C: \ Users \ valer> flutter emulators
6 available emulators:

3.2_QVGA_ADP2_API_22 _-_ Lollipop3.2in QVGA (ADP2)Generic3.2 QVGA (ADP2) API 22 - Lollipop
Android_ARMv7a
Android_Accelerated_x86
Nexus S API Google Nexus S API 23
Nexus_S_API_25_1080x1920_Nougart_7.1.1_ • pixel • GoogleNexus S API 25 1080x1920 (Nougart 7.1.1)
Pixel_API_28 • pixel • GooglePixel API 28

Чтобы запустить эмулятор, запустите flutter emulators --launch <emulator id> .

Шаг 2:

C: \ Users \ valer> flutter emulators --launch Pixel_API_28
Валериано Коста
источник
33

Это было мое решение. Надеюсь, что моя путаница может помочь кому-то еще:

Мои « Опции разработчика » были включены ,

но « Отладка USB » была выключена .

Поэтому я включил отладку по USB, и проблема была решена.

Pablo Chvx
источник
21

В моем случае

Файл> Структура проекта

выберите последний SDK

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

Мухайминур Рахман
источник
Этот ответ полезен и для меня. Спасибо.
Ашиш
если нет варианта структуры проекта, перезапустите андроид студию
Уилмер
Этот ответ полезен и решил проблему .. Большое спасибо
Суна Арун
21

Ни одно из предложений не сработало, пока я не побежал

flutter config --android-sdk ANDROID_SDK_PATH

но используйте «ПУТЬ» = ваш путь:

настройка флаттера --android-sdk C: \ Users \% youruser% \ AppData \ Local \ Android \ Sdk

AFD
источник
После этого получилunable to locate Android SDK
eggrobot78
1
@ eggrobot78 удалось решить эту проблему, добавив место установки Android SDK в качестве переменной пути среды для ANDROID_HOME.
Essbee
17

Я сталкиваюсь с той же проблемой, что и вы. Оказывается, ваше устройство не связано с вашим компьютером.

Примечание:

  • Если вы используете XCode, если и ваш компьютер, и устройство используют один и тот же WIFI , вам не нужно подключать устройство к компьютеру.
  • Для Android или iOS, работающего под командой терминала, если вы используете командную строку для запуска этого, вы должны убедиться, что они подключены через кабели . Совместное использование того же WIFI не работает. Убедитесь, что ваше устройство действительно подключено.
  • Убедитесь, что вы разрешили отладку по USB на вашем устройстве Android.

Если это по-прежнему не работает, попробуйте выполнить команду ниже, где вы можете получить более подробную информацию и детали:

flutter run --verbose
Дэвид
источник
1
У меня была такая же проблема, когда VS Code может запускать Flutter, а терминал - нет. Интересно, если мне не хватает аргумента, который бы сработал? Кажется, это не имеет смысла; Я думаю, что VS Code или XCode команды будут просто служить интерфейсом для CLI.
pipedreambomb
16

Что мне нужно было сделать:

flutter emulators

В нем будут перечислены все доступные эмуляторы. Для iOS сначала нужно открыть симулятор.

flutter emulators --launch EMULATOR NAME

Это запустит эмулятор

И построить это

flutter run -d "EMULATOR ID"
Эстеван Лукас
источник
15

Я управлял своим с Genymotion, вероятно, лучшим для Флаттера.

Настройка менее болезненна и

Убедитесь, что настройка ADB под

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

- ВАШ ПУТЬ ANDROID SDK -

У меня есть C: \ Users \ user \ AppData \ Local \ Android \ Sdk

Виктор Тонг
источник
Спасибо. Я переустановил Genymotion и должен был это сделать.
Дан
Genymotion легче.
Роберто Гоес
В Windows 10 мне пришлось перезагрузить компьютер, прежде чем он
заработал
11

Для пользователя окна,

Установить переменную среды Flutter SDK ( ... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin )

Нет подключения устройства

Для получения дополнительной информации вы можете проверить здесь http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

Вот информация с упомянутой страницы: Добавить Flutter к переменной среды Windows Путь

  1. Перейдите в папку Flutter SDK.
  2. Зайдите в папку bin и скопируйте путь к каталогу (в вашем случае C: \ Flutter \ bin)
  3. Перейдите в «Панель управления> Учетные записи пользователей> Учетные записи пользователей> Изменить переменные среды»
  4. В разделе «Пользовательские переменные» выберите переменную пути и нажмите «Изменить».
  5. Положите C: \ Flutter \ bin и примените.

Как и в Flutter Environment, мы должны установить путь к Android SDK, если он находится в произвольном месте.

  1. Перейдите в папку Android SDK.
  2. Скопируйте путь к каталогу (в вашем случае ..AndroidStudioSDK \ sdk)
  3. Перейдите в «Панель управления> Учетные записи пользователей> Учетные записи пользователей> Изменить переменные среды»
  4. В разделе «Пользовательские переменные» выберите переменную пути и нажмите «Изменить».
  5. Поместите ..AndroidStudioSDK \ sdk с ANDROID_HOME и примените.

Подсказки:

Если вы столкнулись со следующей проблемой,

1. [✗] Android toolchain - разработка для Android-устройств ✗ Невозможно найти Android SDK. Установите Android Studio с https://developer.android.com/studio/index.html При первом запуске он поможет вам в установке компонентов Android SDK. (или посетите https://flutter.io/setup/#android-setup для получения подробных инструкций).

Если Android SDK был установлен в другое место, установите $ ANDROID_HOME в это место.

Вы можете решить это с помощью следующей команды.

flutter config --android-sdk <android-sdk-location> ИЛИ flutter config --android-sdk "android-sdk-location"

  1. Ошибка: неизвестный аргумент --licenses

Вы можете решить это с помощью следующей команды.

flutter -v doctor --android-licenses

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

Сунил
источник
10

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

Шаги, чтобы исправить эту проблему

1. Проверьте, авторизован ли: откройте терминал / cmd / PowerShell и запишите устройства adb, он покажет вам все подключенные устройства к ПК.

<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        unauthorized

2. Отмените отладку по USB на телефоне.

Если устройство отображается как неавторизованное, перейдите к настройкам телефона и нажмите «Отменить авторизацию отладки USB» (протестировано с JellyBean и Samsung GalaxyIII).

3. Перезагрузите сервер ADB:

adb kill-server
adb start-server

4. Переподключите устройство и повторите команду: adb devices

Теперь оно должно отображаться авторизованным.

5. Готов к работе.

Теперь откройте редактор Android Studio / Visual Studio Code и проверьте, отображается ли ваше устройство на подключенных устройствах или нет.

Вы можете просто проверить это с помощью команды доктора флаттера.

Акрам Чаухан
источник
8

Для запуска приложений Flutter должно быть подключено хотя бы одно устройство / симулятор .

Также убедитесь, что отладка по USB включена в настройках разработчика.

Правин Радж
источник
8

Если у вас есть

  • Скачал флаттер SDK
  • Подключил мобильное устройство, включил опцию разработчика на мобильном телефоне и разрешил отладку по USB.

И все же вы получаете «Нет подключенного устройства», то я думаю, что вы должны установить драйвер ADB. У меня это сработало !! Нажмите сюда для того, чтобы скачать

Сандип Кумар
источник
8

Я сталкиваюсь с той же проблемой с Флаттером. Но я нашел другой способ работы, т.е.

  1. Первый запуск Android Emulator
  2. Затем перейдите к своей консоли Flutter
  3. Запустите команду flutter doctor и проверьте, отображается ли ваш эмулятор под тегом подключенных устройств, например: введите описание изображения здесь

  4. Теперь перейдите к пути вашего проекта Flutter через консоль Flutter, например, для меня это D: \ FlutterWorkspace \ flutter_demo

  5. Затем выполните команду flutter run. например

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

Подождите несколько секунд, пока ваше приложение не запустится в Android Emulator. введите описание изображения здесь

droidDip
источник
6

Одна из опций, которую я до сих пор не упомянул, заключается в том, что (для моей настройки) для параметра «Выбор конфигурации USB» для разработчика должен быть задан MTP (Media Transfer Protocol).

jaxfire
источник
6

Я использую Linux, поэтому этот шаг может помочь. Сначала откройте студию с правами суперпользователя ( окно: щелкните правой кнопкой мыши значок программы> выберите «Запуск от имени администратора» , linux: sudo ./studio.shв терминале)

Создайте эмулятор с Аппаратным обеспечением - GLES 2.0 в аппаратном ускорении как упомянуто здесь . Открытый терминал в андроид студии (Alt + F12)

Запустите команду flutter devicesи посмотрите список устройств

root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# flutter devices
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.

1 connected device:

Android SDK built for x86 • emulator-5554 • android-x86 • 
Android 8.1.0 (API 27)(emulator)

Наконец запустить из терминала flutter run

root@abc-OptiPlex-3050:~/flutter_workspace/my_app/my_app# flutter run
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.


Using hardware rendering with device Android SDK built for x86. 
If you get graphics artifacts, consider enabling software rendering 
with "--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...                                       0.7s
Resolving dependencies...                                    1.2s
Running 'gradlew assembleDebug'...                           1.5s
Built build/app/outputs/apk/debug/app-debug.apk.
I/FlutterActivityDelegate(25096): onResume setting current activity to this
Syncing files to device Android SDK built for x86...             
D/        (25096): HostConnection::get() New Host Connection established 
0xe8487780, tid 25116
D/EGL_emulation(25096): eglMakeCurrent: 0xe5b3d8a0: ver 2 0 (tinfo 0xe84832f0)

🔥  To hot reload changes while running, press "r". To hot restart (and 
rebuild state),press "R".An Observatory debugger and profiler on 
Android SDK built for x86 is available at: http://127.0.0.1:8100/
For a more detailed help message, press "h". To quit, press "q".

И проверьте путь flutter-sdk в вашем проекте. Настройте из этого ответа

Iamat8
источник
4

Фактический ответ не работал для меня.

Но, установив ANDROID_HOMEв вас ~/.bash_profileи выйдя из системы, войдите, сделайте так, чтобы это работало!

Это может быть проблема Android Studio, так как она не устанавливает эту переменную среды для открытых проектов.

RobertPro
источник
4

У меня такие же проблемы, когда я отлаживал с помощью локального флаттера. В этом случае, если вы установили переменную среды FLUTTER_ENGINE, вы должны сбросить ее и перезапустить IDE.

Джидонг Чен
источник
4

Ни одно из вышеперечисленных решений не помогло мне, но я смог решить его путем аннулирования catchи перезапуска моей Android-студии:

File > Invalidate Catches / Restart...
Jude
источник
Единственное решение, которое сработало
настоящее 19
4

Выполните следующие действия:
Файл -> Структура проекта -> Project SDK (выберите путь SDK в Android SDK) -> ОК.

Убедитесь, что ваше устройство подключено к ПК.

Откройте GitBash и введите: флаттер устройства. Затем запустите ваше приложение. Это будет работать.

Soumen Das
источник
3

Flutter необходимо устройство для запуска приложения. Для этого есть два варианта.

  1. Запустите приложение на своем реальном телефоне.
  2. Запустите приложение на виртуальном устройстве на вашем компьютере.

Я бы порекомендовал вариант 1, потому что он не использует ресурсы вашего устройства и работает быстрее.

Опция 1:

Разблокируйте параметры разработчика на своем телефоне, перейдите к настройкам разработчика, включите отладку по USB и подключите телефон к компьютеру. Теперь беги flutter runи все заработает.

Вариант 2:

Откройте android studio, перейдите в AVD manager, добавьте виртуальное устройство, если вы еще этого не сделали, и запустите виртуальное устройство. Теперь запустите flutter runснова, и это должно работать.

Обратите внимание, что этот способ работает с любым виртуальным устройством, а не только с виртуальным устройством Android Studio.

Стев джеймс
источник
3

Я решил проблему, изменив «ANDROID_HOME» на переменные окружения и указав в нем местоположение вашего SDK для Android… в моем случае C: \ Android \ Sdk

Мухаммед Заки Асири
источник
3

Это было мое решение. Надеюсь, что моя путаница может помочь кому-то еще:

Мои «Опции разработчика» были включены,

но «Отладка USB» была выключена.

Поэтому я включил отладку по USB, и проблема была решена.

user13465602
источник
2

Для пользователя окна,

Решением для меня было запустить Android Studio в качестве администратора

Faustino Gagneten
источник
2

Это в основном нуждается в устройстве, "подключенном" к вашей машине разработки. Если вы используете симулятор / эмулятор, работающий на машине, он должен автоматически распознаваться как подключенное устройство. Другой способ - подключить физическое устройство, и процесс установки немного отличается для устройств Android и iOS.

krishnakeshan
источник
2

Для меня это было

  1. добавив «ANDROID_HOME» в переменные окружения и установив его в D: \ dev \ android \ (для меня)

  2. добавив "D: \ dev \ android \ platform-tools" (для меня) в Path, я положил флаттер там раньше

  3. Хорошо, хорошо, хорошо Перезапустите Android-студию

svkaka
источник
2

В моём случае flutter devicesправильно показал моё устройство и флаттер работал как положено. но устройство не отображается в Android Studio.

Вот мой sulotion:

по моему .bash_profile, Android SDK настроен так:

export ANDROID_SDK_ROOT="~/Library/Android/sdk"

Кажется, трепетание плагина не может распознать ~, поэтому я изменил его так:

export ANDROID_SDK_ROOT="/Users/charliema/Library/Android/sdk"

снова откройте Android Studio, все заработало.

machao
источник
2

Я использовал код Visual Studio в Mac и пытался запустить код флаттера на моем iPhone. Устройство не показывалось в строке состояния. Я исправил проблему, выполнив это в Терминале:

rm -rf <flutter_repo_directory>/bin/cache
flutter doctor -v

Это в основном очистит все данные кеша из папки репозитория Flutter. Поэтому, когда вы запускаете flutter doctor, он сначала загружает некоторые файлы.

Arun
источник
У меня всегда была
одна
Мой iPhone не может распознать флаттер в системе Mac. перепробовал много способов, ваш работает хорошо. Спасибо ~
Pulller
2

ПРИМЕЧАНИЕ: я использую мобильный Mi (Xiaomi) (Redmi K20 Pro), который работает на Android 10

Вам нужно сделать 2 вещи, чтобы показать список вашего устройства.

1) Перейдите в Android Studio -> Файл -> Структура проекта и выберите Project SDK из вариантов. Я выбрал последний из меню.

2) Когда вы подключаете свое реальное устройство к ПК / ноутбуку, убедитесь, что вы выбрали Transfer photos (PTP) mode.

ПРИМЕЧАНИЕ . НЕ ВЫБИРАЙТЕ режим передачи файлов. Он не будет работать.

Выполнив 2 вышеуказанных действия, вы можете проверить статус доступности вашего устройства, написав flutter devicesв командной строке.

Я надеюсь, что это показывает ваше мобильное устройство.

Акшай Чопра
источник
2

ШАГ 1: Чтобы проверить подключенные устройства, запустите:flutter devices

ШАГ 2. Если нет подключенных устройств для просмотра списка доступных эмуляторов, выполните:flutter emulators

ШАГ 3: Чтобы запустить эмулятор, запустите:flutter emulators --launch <emulator id>

ШАГ 4: Если доступного эмулятора нет, запустите:flutter emulators --create [--name xyz]

==> ДЛЯ Android

ШАГ 1: Чтобы проверить список эмуляторов, запустите:emulator -list-avds

ШАГ 2: Теперь, чтобы запустить эмулятор, запустите:emulator -avd avd_name

==> ДЛЯ IOS:

ШАГ 1: open -a simulator

ШАГ 2: flutter run (в каталоге вашего приложения)

Я надеюсь, что это решит вашу проблему.

ИФТЕХАР И АСИФ
источник