ejecución de flutter: no hay dispositivos conectados

227

Estoy tratando de crear una aplicación de muestra con flutter (instalación nueva) Android Studio también está instalado (instalación nueva)

Aquí está la salida de flutter run

flutter run  
No connected devices.

la salida de 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.

¿Hay una solución a este problema?

Adnan Mumtaz
fuente
8
¿Tiene un dispositivo conectado (depuración USB habilitada) o un emulador en ejecución?
Günter Zöchbauer
hacer flutter devicespara verificar si el aleteo puede encontrar algún dispositivo o no
denvercoder9
El error "No hay dispositivos conectados" generalmente significa que no ha habilitado en su dispositivo las opciones de desarrollador.
Shomu
Para mí, esto sucede durante aproximadamente 1 minuto, luego parece que se corrige solo. El estudio de Android funciona bien de inmediato, pero Flutter parece excesivamente lento en casi todo, incluido el reconocimiento del emulador. ¿Quizás probar con paciencia y volver después de una taza de café?
Mitch
77
Tuve el mismo problema, lo solucioné cambiando el cable USB, porque algunos cables son solo para alimentación.
Thiago Silva Ferreira

Respuestas:

187

Flutter es compatible con dispositivos / simuladores iOS y Android.

En la terminal, ejecute el flutter devicescomando para verificar que Flutter reconozca su dispositivo Android conectado.

Aquí hay un documento de referencia, Cómo puede configurar el Dispositivo / Simulador para ejecutar su aplicación.

Para Android (en el sistema Mac)

Configura tu dispositivo Android

Para prepararse para ejecutar y probar su aplicación Flutter en un dispositivo Android, necesitará un dispositivo Android con Android 4.1 (nivel 16 de API) o superior.

  1. Habilite las opciones de desarrollador y la depuración de USB en su dispositivo. Las instrucciones detalladas están disponibles en la documentación de Android.
  2. Con un cable USB, conecte su teléfono a su computadora. Si se le solicita en su dispositivo, autorice a su computadora a acceder a su dispositivo.
  3. En el terminal, ejecute el flutter devicescomando para verificar que Flutter reconozca su dispositivo Android conectado.
  4. Inicie su aplicación ejecutando flutter run.

Por defecto, Flutter usa la versión del SDK de Android donde se basa su herramienta adb. Si desea que Flutter use una instalación diferente del SDK de Android, debe establecer la variable de entorno ANDROID_HOME en ese directorio de instalación.

Configurar el emulador de Android

Para prepararse para ejecutar y probar su aplicación Flutter en el emulador de Android, siga estos pasos:

  1. Habilite la aceleración de VM en su máquina.
  2. Inicie Android Studio> Herramientas> Android> Administrador AVD y seleccione Crear dispositivo virtual.
  3. Elija una definición de dispositivo y seleccione Siguiente.
  4. Seleccione una o más imágenes del sistema para las versiones de Android que desea emular y seleccione Siguiente. Se recomienda una imagen x86 o x86_64.
  5. En Rendimiento emulado, seleccione Hardware - GLES 2.0 para habilitar la aceleración de hardware.
  6. Verifique que la configuración de AVD sea correcta y seleccione Finalizar.

    Para obtener detalles sobre los pasos anteriores, consulte Administración de AVD.

  7. En Android Virtual Device Manager, haga clic en Ejecutar en la barra de herramientas. El emulador se inicia y muestra el lienzo predeterminado para la versión y dispositivo del sistema operativo seleccionado.

  8. Inicie su aplicación ejecutando flutter run. El nombre del dispositivo conectado está diseñado para Android SDK, donde la plataforma es la familia de chips, como x86.

-

Abrir y conectar dispositivo usando Android Studio:

Aquí hay una manera más fácil de abrir y conectar simuladores / dispositivos.

Android Studio muestra una lista de emuladores / simuladores (instalados en su sistema) o dispositivos (conectados a su sistema). Simplemente seleccione un dispositivo que desee abrir de una lista y ejecute el proyecto.

ingrese la descripción de la imagen aquí

Krunal
fuente
18
No puedo hacer que esto funcione. El emulador funciona bien. Puedo implementar y ejecutar una aplicación de Android en él. Pero el proyecto flutter del estudio de Android sigue quejándose de que no hay emulador.
abjbhat
8
Lo mismo aquí, aparece "No se encontraron dispositivos conectados; conecte un dispositivo o consulte flutter.io/setup para obtener instrucciones de inicio". Mientras tanto, puedo ver el emulador sentado allí en la misma pantalla, en funcionamiento.
olisteadman
{SOLUCIONADO} Después de un tiempo hice un error de prueba n, sé exactamente que este problema está causado por un archivo adb dañado (de forma predeterminada, "dispositivos flutter" llamará al archivo "adb" proporcionado por el SDK, por ejemplo, mi archivo adb.exe existe en "C: \ Android \ Sdk \ platform-tools"). la forma de superar este problema es reemplazar el archivo con el otro archivo adb (asegúrese de haber realizado una copia de seguridad anterior), puede reemplazar su adb original con mi archivo adb que puede descargar en el siguiente enlace: gofile.io/ ? c = c0M3DC . Gracias
nurulhudamustaqim
¿Qué pasa con iOS en Mac? Tengo varios Mac y mi MBA 2012 (USB-A) solo hará que la conexión esté disponible si se está ejecutando iTunes. Conectar el mismo dispositivo a mi flutter MBA (USB-C) de 2019 no reconoce el dispositivo a pesar de que iTunes sí,
Richard
Mi Macbook Air 2012 con USB-A puede detectar mi iPhone5 pero SOLO si inicio iTunes. Mi Macbook Air 2019 con USB-C no puede detectar el mismo iPhone5 (sí, confiable, y sí funciona en XCode e iTunes). Mi teléfono Android funciona en ambos sistemas (no iTunes), sin embargo, en el MBA 2019 necesito un dongle USB-A / C.
Richard
96

flutter config --android-sdk ANDROID_SDK_PATH

O

  • Dispositivo no encontrado (cuando se configura Flutter en Android Studio)
  • Estructura del proyecto -> seleccione la última API de ANDROID en Project SDK

ingrese la descripción de la imagen aquí

Anilkumar Patel
fuente
2
Al configurar tanto Project SDK como Module SDK lo reparó. Gracias.
Shirish Kadam
2
Esto resolvió mi problema. Tenía dispositivos en funcionamiento, pero el aleteo no pudo detectarlos.
Mahdi-Malv
Resuelto para mí también. ¡Gracias!
Lee Casey
Trabajó para mi. No se seleccionó SDK
phyyyl
Resuelto para mí también.
gamofe
35

Resolví el problema AVD con el flutter usando la consola Flutter.

Paso 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

Para ejecutar un emulador, ejecuta flutter emulators --launch <emulator id>.

Paso 2:

C: \ Users \ valer> flutter emulators --launch Pixel_API_28
Valeriano Costa
fuente
33

Esta fue mi solución. Espero que mi confusión también pueda ayudar a alguien más:

Mis " Opciones de desarrollador " estaban activadas ,

pero la " depuración de USB " estaba desactivada .

Así que encendí la depuración de USB y el problema se resolvió.

Pablo Chvx
fuente
21

En mi caso

Archivo> Estructura del proyecto

seleccione el último sdk

ingrese la descripción de la imagen aquí

Muhaiminur Rahman
fuente
Esta respuesta también es útil para mí. Gracias.
Ashish
si no hay una estructura de proyecto de opción, reinicie android studio
Wilmer
Esta respuesta es útil y resolvió el problema. Muchas gracias
Suna Arun
21

Ninguna de las sugerencias funcionó, hasta que corrí

flutter config --android-sdk ANDROID_SDK_PATH

pero usa "PATH" = tu camino:

flutter config --android-sdk C: \ Users \% youruser% \ AppData \ Local \ Android \ Sdk

AFD
fuente
Después de hacer eso consiguióunable to locate Android SDK
eggrobot78
1
@ eggrobot78 pudo solucionar esto agregando la ubicación de instalación del SDK de Android como una variable de ruta de entorno para ANDROID_HOME.
essbee
17

Me encuentro con el mismo problema que tú. Resulta que su dispositivo no está conectado con su computadora.

Nota:

  • Si está utilizando XCode, si tanto su computadora como el dispositivo están utilizando el mismo WIFI , no tiene que conectar el dispositivo con la computadora.
  • Para Android o iOS que se ejecuta bajo el comando de terminal, si está utilizando la línea de comando para ejecutar esto, debe asegurarse de que estén conectados a través de cables . Compartir el mismo WIFI no funciona. Asegúrese de que su dispositivo esté realmente conectado.
  • Asegúrese de haber permitido la depuración USB en su dispositivo Android.

Si esto todavía no funciona, intente disparar debajo del comando, donde puede obtener información y detalles más completos:

flutter run --verbose
David
fuente
1
Tuve el mismo problema, donde VS Code puede ejecutar Flutter pero el terminal no. Me pregunto si me falta un argumento que lo haga funcionar. No parece tener sentido; Creo que los comandos VS Code o XCode solo servirían como front-end para la CLI.
pipedreambomb
16

Lo que necesitaba hacer:

flutter emulators

Enumerará todos los emuladores disponibles. Para iOS, primero deberá abrir el simulador.

flutter emulators --launch EMULATOR NAME

Esto lanzará el emulador

Y para construirlo

flutter run -d "EMULATOR ID"
Estevão Lucas
fuente
15

Corrí el mío con Genymotion, probablemente el mejor para Flutter.

La configuración es menos dolorosa y

Asegúrese de configurar ADB en

ingrese la descripción de la imagen aquí

--SU RUTA SDK DE ANDROID -

El mío es C: \ Users \ user \ AppData \ Local \ Android \ Sdk

Victor Tong
fuente
Gracias. Reinstalé Genymotion y tuve que hacer esto.
Dan
Genymotion es más ligero.
Roberto Góes
En Windows 10 tuve que reiniciar mi computadora antes de que funcione
NearHuscarl
11

Para el usuario de la ventana,

Establecer la variable de entorno del SDK de Flutter ( ... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin )

No hay dispositivo conectado

Para obtener más información, puede consultar aquí http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

Aquí está la información de la página mencionada: Agregar Flutter a la ruta variable de entorno de Windows

  1. Navegue a la carpeta Flutter SDK.
  2. Ingrese a la carpeta bin y copie la ruta del directorio (en su caso C: \ Flutter \ bin)
  3. Vaya a "Panel de control> Cuentas de usuario> Cuentas de usuario> Cambiar mis variables de entorno"
  4. En "Variables de usuario", seleccione la variable de ruta y haga clic en editar.
  5. Poner C: \ Flutter \ bin y aplicar.

Igual que Flutter Environment, tenemos que configurar la ruta del SDK de Android si está en una ubicación personalizada.

  1. Navega a la carpeta del SDK de Android.
  2. Copie la ruta del directorio (en su caso ... AndroidStudioSDK \ sdk)
  3. Vaya a "Panel de control> Cuentas de usuario> Cuentas de usuario> Cambiar mis variables de entorno"
  4. En "Variables de usuario", seleccione la variable de ruta y haga clic en editar.
  5. Coloque ..AndroidStudioSDK \ sdk con ANDROID_HOME y aplique.

Consejos:

Si enfrenta el siguiente problema,

1. [✗] Cadena de herramientas de Android: desarrolle para dispositivos Android ✗ No se puede encontrar el SDK de Android. Instale Android Studio desde https://developer.android.com/studio/index.html. En el primer lanzamiento, lo ayudará a instalar los componentes del SDK de Android. (o visite https://flutter.io/setup/#android-setup para obtener instrucciones detalladas).

Si se instaló Android SDK en una ubicación personalizada, configure $ ANDROID_HOME en esa ubicación.

Puede resolverlo con el siguiente comando.

flutter config --android-sdk <android-sdk-location> O flutter config --android-sdk "android-sdk-location"

  1. Error: argumento desconocido - licencias

Puede resolverlo con el siguiente comando.

flutter -v doctor --android-licenses

Ahora, elija el emulador que desea usar y haga clic en la flecha verde para ejecutar el proyecto. Entonces, aquí la pantalla predeterminada que ya está diseñada.

Sunil
fuente
10

A veces tienes todo perfecto, pero el dispositivo ya no está autorizado en ADB. En tales casos, tiene ADB pero no se mostrará en los dispositivos conectados.

Pasos para solucionar este problema

1. Verifique si está autorizado: abra el terminal / cmd / PowerShell y escriba dispositivos adb, le mostrará todos los dispositivos conectados a la PC.

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

2. Revocar la depuración de USB en el teléfono

Si el dispositivo se muestra como no autorizado, vaya a las opciones de desarrollador en el teléfono y haga clic en "Revocar autorización de depuración USB" (probado con JellyBean y Samsung GalaxyIII).

3. Reinicie el servidor ADB:

adb kill-server
adb start-server

4. Vuelva a conectar el dispositivo y vuelva a ejecutar el siguiente comando: dispositivos adb

Ahora debería aparecer autorizado.

5. Listo para ir.

Ahora, abra su editor de Android Studio / Visual Studio Code y verifique si su dispositivo se muestra en dispositivos conectados o no.

Simplemente puede verificar eso con el comando flutter doctor.

Akram Chauhan
fuente
8

Debe haber al menos un dispositivo / simulador conectado para ejecutar aplicaciones Flutter .

También asegúrese de que la depuración de USB esté habilitada en la configuración del desarrollador.

Pravin Raj
fuente
8

Si usted tiene

  • Descargado el SDK flutter
  • Conectó su dispositivo móvil y habilitó la opción de desarrollador en el móvil y permitió la depuración de USB.

Y aún así aparece "No hay ningún dispositivo conectado", entonces creo que debería instalar el controlador ADB. ¡Funcionó para mí! Haga click aquí para descargar

Sandeep Kumar
fuente
8

Estoy enfrentando el mismo problema con Flutter. Pero encontré otra forma de trabajar, es decir

  1. Primero ejecuta Android Emulator
  2. Luego ve a tu consola Flutter
  3. Ejecute el comando flutter doctor y verifique si su emulador se muestra debajo de la etiqueta de dispositivos conectados, por ejemplo ingrese la descripción de la imagen aquí

  4. Ahora muévase a la ruta de su proyecto Flutter a través de la consola Flutter, por ejemplo, para mí es D: \ FlutterWorkspace \ flutter_demo

  5. Luego ejecute el comando flutter run. p.ej

ingrese la descripción de la imagen aquí

Espere unos momentos y verá que su aplicación se ejecuta en Android Emulator. ingrese la descripción de la imagen aquí

droidDip
fuente
6

Una opción que no he visto hasta ahora es que (para mi configuración) la opción de desarrollador 'Seleccionar configuración USB' debe establecerse en MTP (Protocolo de transferencia de medios).

jaxfire
fuente
6

Estoy usando Linux, así que aquí están los pasos que pueden ayudar. Primero abra el estudio con permiso de root ( ventana: haga clic con el botón derecho en el icono del programa> Elija Ejecutar como administrador , linux: sudo ./studio.shen la terminal)

Cree un emulador con hardware: GLES 2.0 en aceleración de hardware como se menciona aquí . Abrir terminal en el estudio de Android (Alt + F12)

Ejecute el comando flutter devicesy vea la lista de dispositivos

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)

Finalmente correr desde la terminal 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".

Y verifique la ruta flutter-sdk en su proyecto. Configure a partir de esta respuesta

Iamat8
fuente
4

La respuesta real no funcionó para mí.

Pero dejando ANDROID_HOMEen ti ~/.bash_profiley cierre de sesión de inicio de sesión a continuación, hacer que funcione!

Esto puede ser un problema de Android Studio ya que no está configurando esta variable de entorno para los proyectos abiertos.

RobertPro
fuente
4

Tengo los mismos problemas mientras estaba depurando con el motor de aleteo local. En tal caso, si ha configurado la variable de entorno FLUTTER_ENGINE, debe desarmarla y reiniciar su IDE.

Jidong Chen
fuente
4

Ninguna de las soluciones anteriores funcionó para mí, pero pude resolverla invalidando catchy reiniciando mi estudio de Android:

File > Invalidate Catches / Restart...
Judas
fuente
La única solución que funcionó
real 19 de
4

Siga estos pasos:
Archivo -> Estructura del proyecto -> Project SDK (Seleccione la ruta del SDK en el SDK de Android) -> Aceptar

Asegúrese de que su dispositivo esté conectado a la PC.

Abra GitBash y escriba: dispositivos de aleteo. Luego ejecute su aplicación flutter. Funcionará.

Soumen Das
fuente
3

Flutter necesita un dispositivo para ejecutar la aplicación. Hay dos opciones para esto.

  1. Ejecute la aplicación en su teléfono real.
  2. Ejecute la aplicación en un dispositivo virtual en su computadora.

Recomendaría la Opción 1 porque no usa los recursos de su dispositivo y es más rápido.

Opción 1:

Desbloquee las opciones de desarrollador en su teléfono, vaya a la configuración de desarrollador y active la depuración de USB y conecte su teléfono a su computadora. Ahora corre flutter runy funcionará.

Opcion 2:

Abra el estudio de Android, vaya al administrador de AVD, agregue un dispositivo virtual si aún no lo ha hecho y ejecute el dispositivo virtual. Ahora corre de flutter runnuevo y debería funcionar.

Tenga en cuenta que de esta manera funciona con cualquier dispositivo virtual y no solo con un dispositivo virtual de Android Studio.

Steev James
fuente
3

Resolví el problema después de cambiar "ANDROID_HOME" a las variables de entorno y configurarlo en la ubicación de su SDK de Android ... en mi caso C: \ Android \ Sdk

Muhammad Zacky Asyari
fuente
3

Esta fue mi solución. Espero que mi confusión también pueda ayudar a alguien más:

Mis "Opciones de desarrollador" estaban activadas,

pero la "depuración de USB" estaba desactivada.

Así que encendí la depuración de USB y el problema se resolvió.

usuario13465602
fuente
2

Para el usuario de la ventana,

La solución para mí fue ejecutar Android Studio como administrador

Faustino Gagneten
fuente
2

Básicamente necesita un dispositivo "conectado" a su máquina de desarrollo. Si está utilizando un simulador / emulador que se ejecuta en la máquina, debería reconocerse automáticamente como un dispositivo conectado. Otra forma es conectar un dispositivo físico y el proceso de configuración varía ligeramente para dispositivos Android e iOS.

Krishnakeshan
fuente
2

Para mi fue

  1. agregando "ANDROID_HOME" a las variables de entorno y configurándolo en D: \ dev \ android \ (para mí)

  2. agregando "D: \ dev \ android \ platform-tools" (para mí) a Path puse flutter allí antes

  3. Ok, Ok, Ok Reinicia el estudio de Android

svkaka
fuente
2

En mi caso, flutter devicesmostré mi dispositivo correctamente y la ejecución de flutter funcionó como se esperaba. pero el dispositivo no se muestra en Android Studio.

Aquí está mi sulotion:

en mi .bash_profile, el SDK de Android se confundió así:

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

Parece que el complemento flutter no puede reconocer el ~, así que lo cambié de esta manera:

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

Vuelva a abrir el Android Studio, funcionó.

machao
fuente
2

Estaba usando Visual Studio Code en Mac e intentaba ejecutar el código de aleteo en mi iPhone. El dispositivo no aparecía en la barra de estado. Solucioné el problema haciendo esto en la Terminal:

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

Básicamente, esto borrará todos los datos de caché de la carpeta del repositorio de Flutter. Entonces, cuando ejecute flutter doctor , descargará algunos archivos inicialmente

Arun
fuente
Siempre tuve el mismo problema, y ​​los siguientes pasos ayudarán
abuder el
Mi iPhone no puede reconocer por aleteo en el sistema Mac. probado de muchas maneras, el tuyo funciona bien. Gracias ~
Pulller
2

NOTA: Estoy usando Mi (Xiaomi) mobile (Redmi K20 Pro) que se ejecuta en Android 10

Debe hacer 2 cosas para mostrar la lista de su dispositivo.

1) Vaya a su Android Studio -> Archivo -> Estructura del proyecto y elija Project SDK de las opciones. Elegí el último del menú.

2) Cuando conecte su dispositivo real a su PC / Laptop, asegúrese de elegir Transfer photos (PTP) mode.

NOTA : NO ELIJA el modo de transferencia de archivos. No funcionará.

Después de hacer las 2 cosas anteriores, puede verificar el estado de la disponibilidad de su dispositivo escribiendo flutter devicesen el símbolo del sistema.

Espero que muestre su dispositivo móvil.

Akshay Chopra
fuente
2

PASO 1: Para verificar los dispositivos conectados, ejecute:flutter devices

PASO 2: Si no hay dispositivos conectados para ver la lista de emuladores disponibles, ejecute:flutter emulators

PASO 3: Para ejecutar un emulador, ejecute:flutter emulators --launch <emulator id>

PASO 4: Si no hay un emulador disponible, ejecute:flutter emulators --create [--name xyz]

==> PARA ANDROID:

PASO 1: para consultar la lista de emuladores, ejecute:emulator -list-avds

PASO 2: ahora para iniciar el emulador, ejecute:emulator -avd avd_name

==> PARA IOS:

PASO 1: open -a simulator

PASO 2: flutter run (en el directorio de su aplicación)

Espero que esto resuelva tu problema.

IFTEKHAR I ASIF
fuente