flutter run: aucun appareil connecté


227

J'essaie de créer un exemple d'application avec flutter (nouvelle installation) Android Studio est également installé (nouvelle installation)

Voici la sortie de flutter run

flutter run  
No connected devices.

la sortie 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.

Y at-il une solution à ce problème?


8
Avez-vous un appareil connecté (débogage USB activé) ou un émulateur en cours d'exécution?
Günter Zöchbauer

faire flutter devicespour vérifier si flutter peut trouver des appareils ou non
denvercoder9

L'erreur "Aucun appareil connecté" signifie généralement que vous n'avez pas activé sur votre appareil les options de développement.
Shomu

Pour moi, cela se produit pendant environ 1 minute, puis il semble se redresser. Le studio Android fonctionne très bien immédiatement, mais Flutter semble excessivement lent à peu près tout, y compris la reconnaissance de l'émulateur. Essayez peut-être un peu de patience et revenez après une tasse de café?
Mitch

7
J'ai eu le même problème, je l'ai résolu en changeant le câble USB, car certains câbles sont uniquement destinés à l'alimentation.
Thiago Silva Ferreira

Réponses:


187

Flutter prend en charge les appareils / simulateurs iOS et Android.

Dans le terminal, exécutez la flutter devicescommande pour vérifier que Flutter reconnaît votre appareil Android connecté.

Voici un document de référence, Comment configurer Device / Simulator pour exécuter votre application.

Pour, Android (sur le système mac)

Configurez votre appareil Android

Pour vous préparer à exécuter et tester votre application Flutter sur un appareil Android, vous aurez besoin d'un appareil Android exécutant Android 4.1 (API niveau 16) ou supérieur.

  1. Activez les options de développeur et le débogage USB sur votre appareil. Des instructions détaillées sont disponibles dans la documentation Android.
  2. À l'aide d'un câble USB, branchez votre téléphone sur votre ordinateur. Si vous y êtes invité sur votre appareil, autorisez votre ordinateur à accéder à votre appareil.
  3. Dans le terminal, exécutez la flutter devicescommande pour vérifier que Flutter reconnaît votre appareil Android connecté.
  4. Démarrez votre application en exécutant flutter run.

Par défaut, Flutter utilise la version du SDK Android sur laquelle est basé votre outil adb. Si vous souhaitez que Flutter utilise une installation différente du SDK Android, vous devez définir la variable d'environnement ANDROID_HOME sur ce répertoire d'installation.

Configurer l'émulateur Android

Pour vous préparer à exécuter et à tester votre application Flutter sur l'émulateur Android, procédez comme suit:

  1. Activez l'accélération VM sur votre machine.
  2. Lancez Android Studio> Outils> Android> AVD Manager et sélectionnez Créer un périphérique virtuel.
  3. Choisissez une définition d'appareil et sélectionnez Suivant.
  4. Sélectionnez une ou plusieurs images système pour les versions d'Android que vous souhaitez émuler, puis sélectionnez Suivant. Une image x86 ou x86_64 est recommandée.
  5. Sous Performances émulées, sélectionnez Matériel - GLES 2.0 pour activer l'accélération matérielle.
  6. Vérifiez que la configuration AVD est correcte et sélectionnez Terminer.

    Pour plus de détails sur les étapes ci-dessus, voir Gestion des AVD.

  7. Dans Android Virtual Device Manager, cliquez sur Exécuter dans la barre d'outils. L'émulateur démarre et affiche le canevas par défaut pour la version et le système d'exploitation sélectionnés.

  8. Démarrez votre application en exécutant flutter run. Le nom de l'appareil connecté est Android SDK conçu pour, où la plate-forme est la famille de puces, comme x86.

-

Ouvrir et connecter un appareil à l'aide d'Android Studio:

Voici un moyen plus simple d'ouvrir et de connecter des simulateurs / appareils.

Android Studio affiche une liste d'émulateurs / simulateurs (installés dans votre système) ou d'appareils (connectés à votre système). Sélectionnez simplement un appareil que vous souhaitez ouvrir dans une liste et exécutez le projet.

entrez la description de l'image ici


18
Je ne peux pas faire fonctionner ça. L'émulateur fonctionne très bien. Je peux y déployer et exécuter une application Android. Mais le projet Flutter d'Android Studio continue de se plaindre qu'il n'y a pas d'émulateur.
abjbhat

8
Même chose ici, j'obtiens "Aucun appareil connecté trouvé; veuillez connecter un appareil, ou consultez flutter.io/setup pour obtenir des instructions de démarrage." Pendant ce temps, je peux voir l'émulateur assis sur le même écran, en marche.
olisteadman

{RESOLU} Après un certain temps, j'ai fait une erreur d'essai n, je sais exactement que ce problème est causé par un fichier adb corrompu (par défaut, "flutter devices" appellera le fichier "adb" fourni par le SDK, par exemple mon fichier adb.exe existe dans "C: \ Android \ Sdk \ platform-tools"). la façon de surmonter ce problème est de remplacer le fichier par l'autre fichier adb (assurez-vous que vous avez fait une sauvegarde précédente), vous pouvez remplacer votre adb d'origine par mon fichier adb que vous pouvez télécharger sur le lien suivant: gofile.io/ ? c = c0M3DC . Merci
nurulhudamustaqim

qu'en est-il d'ios sur mac? J'ai plusieurs macs et mon MBA 2012 (USB-A) ne rendra la connexion disponible que si iTunes fonctionne. La connexion du même appareil à mon flotteur MBA 2019 (USB-C) ne reconnaît pas l'appareil même si iTunes le fait,
Richard

Mon Macbook Air 2012 avec USB-A peut détecter mon iPhone5 mais UNIQUEMENT si je démarre iTunes. Mon Macbook Air 2019 avec USB-C ne peut pas détecter le même iPhone5 (oui, fiable et oui fonctionne dans XCode et iTunes). Mon téléphone Android fonctionne sur les deux systèmes (pas iTunes), cependant, sur le MBA 2019, j'ai besoin d'un dongle USB-A / C.
Richard

96

configuration de flutter --android-sdk ANDROID_SDK_PATH

OU

  • Périphérique introuvable (lors de la configuration de Flutter dans Android Studio)
  • Structure du projet -> sélectionner la dernière API ANDROID dans le SDK du projet

entrez la description de l'image ici


2
En définissant le SDK du projet et le SDK du module, il a été corrigé. Merci.
Shirish Kadam

2
Cela a résolu mon problème. J'avais des appareils en marche, mais Flutter n'était pas en mesure de les détecter.
Mahdi-Malv

Résolu pour moi aussi. Je vous remercie!
Lee Casey

A travaillé pour moi. Aucun SDK n'a été sélectionné
phyyyl

Résolu pour moi aussi.
gamofe

35

J'ai résolu le problème AVD avec le flutter en utilisant la console Flutter.

Étape 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

Pour exécuter un émulateur, exécutez flutter emulators --launch <emulator id>.

Étape 2:

C: \ Users \ valer> flutter emulators --launch Pixel_API_28

33

C'était ma solution. J'espère que ma confusion peut aussi aider quelqu'un d'autre:

Mes " Options de développeur " étaient activées ,

mais le « débogage USB » était désactivé .

J'ai donc activé le débogage USB et le problème a été résolu.


21

Dans mon cas

Fichier> Structure du projet

sélectionner le dernier sdk

entrez la description de l'image ici


Cette réponse est également utile pour moi. Je vous remercie.
Ashish

s'il n'y a pas de structure de projet d'option, redémarrez le studio Android
Wilmer

Cette réponse est utile et a résolu le problème .. Merci beaucoup
Suna Arun

21

Aucune des suggestions n'a fonctionné, jusqu'à ce que je coure

flutter config --android-sdk ANDROID_SDK_PATH

mais utilisez "PATH" = votre chemin:

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


Après avoir fait celaunable to locate Android SDK
eggrobot78

1
@ eggrobot78 a pu résoudre ce problème en ajoutant l'emplacement d'installation du SDK Android en tant que variable de chemin d'environnement pour ANDROID_HOME.
essbee

17

Je rencontre le même problème que vous. Il s'avère que votre appareil n'est pas connecté à votre ordinateur.

Remarque:

  • Si vous utilisez XCode, si votre ordinateur et l'appareil utilisent le même WIFI , vous n'avez pas besoin de connecter l'appareil à l'ordinateur.
  • Pour Android ou iOS fonctionnant sous la commande du terminal, si vous utilisez la ligne de commande pour l'exécuter, vous devez vous assurer qu'ils sont connectés via des câbles . Le partage du même WIFI ne fonctionne pas. Assurez-vous que votre appareil est vraiment connecté.
  • Assurez-vous d'avoir autorisé le débogage USB sur votre appareil Android.

Si cela ne fonctionne toujours pas, essayez de lancer la commande ci-dessous, où vous pouvez obtenir des informations et des détails plus riches:

flutter run --verbose

1
J'ai eu le même problème, où VS Code peut exécuter Flutter mais pas le terminal. Je me demande s'il y a un argument qui me manque qui pourrait le faire fonctionner? Cela ne semble pas avoir de sens; Je pense que les commandes VS Code ou XCode serviraient simplement de frontaux pour la CLI.
pipedreambomb du

16

Ce que je devais faire:

flutter emulators

Il répertorie tous les émulateurs disponibles. Pour iOS, vous devrez d'abord ouvrir le simulateur.

flutter emulators --launch EMULATOR NAME

Cela lancera l'émulateur

Et pour le construire

flutter run -d "EMULATOR ID"

15

J'ai dirigé le mien avec Genymotion, probablement le meilleur pour Flutter.

La mise en place est moins douloureuse et

Assurez-vous de régler ADB sous

entrez la description de l'image ici

- VOTRE CHEMIN DE SDK ANDROID -

Le mien est C: \ Users \ user \ AppData \ Local \ Android \ Sdk


Merci. J'ai réinstallé Genymotion et j'ai dû le faire.
Dan

Genymotion est plus léger.
Roberto Góes

Sur Windows 10, j'ai dû redémarrer mon ordinateur avant qu'il ne fonctionne
NearHuscarl

11

Pour les utilisateurs de fenêtres,

Définir la variable d'environnement du SDK Flutter ( ... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin )

Aucun appareil connecté

Pour plus d'informations, vous pouvez consulter ici http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

Voici les informations de la page mentionnée: Ajouter Flutter au chemin de la variable d'environnement Windows

  1. Accédez au dossier Flutter SDK.
  2. Allez dans le dossier bin et copiez le chemin du répertoire (dans votre cas C: \ Flutter \ bin)
  3. Allez dans "Panneau de configuration> Comptes d'utilisateurs> Comptes d'utilisateurs> Modifier mes variables d'environnement"
  4. Sous «Variables utilisateur», sélectionnez la variable de chemin et cliquez sur modifier.
  5. Mettez C: \ Flutter \ bin et appliquez.

Comme pour Flutter Environment, nous devons définir le chemin du SDK Android s'il se trouve sur un emplacement personnalisé.

  1. Accédez au dossier SDK Android.
  2. Copiez le chemin du répertoire (dans votre cas ..AndroidStudioSDK \ sdk)
  3. Allez dans "Panneau de configuration> Comptes d'utilisateurs> Comptes d'utilisateurs> Modifier mes variables d'environnement"
  4. Sous «Variables utilisateur», sélectionnez la variable de chemin et cliquez sur modifier.
  5. Mettez ..AndroidStudioSDK \ sdk avec ANDROID_HOME et appliquez.

Conseils:

Si vous rencontrez le problème suivant,

1. [✗] Chaîne d'outils Android - développement pour appareils Android ✗ Impossible de localiser le SDK Android. Installez Android Studio à partir de https://developer.android.com/studio/index.html Lors du premier lancement, il vous aidera à installer les composants du SDK Android. (ou visitez https://flutter.io/setup/#android-setup pour des instructions détaillées).

Si le SDK Android a été installé sur un emplacement personnalisé, définissez $ ANDROID_HOME sur cet emplacement.

Vous pouvez le résoudre avec la commande suivante.

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

  1. Erreur: argument inconnu - licences

Vous pouvez le résoudre avec la commande suivante.

flutter -v doctor --android-licenses

Maintenant, choisissez l'émulateur que vous souhaitez utiliser et cliquez sur la flèche verte pour exécuter le projet. Voici donc l'écran par défaut déjà conçu.


10

Parfois, tout est parfait, mais l'appareil n'est plus autorisé sur ADB. Dans de tels cas, vous avez ADB, mais il ne s'affichera pas sur les appareils connectés.

Étapes pour résoudre ce problème

1. Vérifiez si autorisé: ouvrez le terminal / cmd / PowerShell et écrivez les périphériques adb, il vous montrera tous les périphériques connectés au PC.

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

2. Révoquer le débogage USB sur le téléphone

Si l'appareil apparaît comme non autorisé, accédez aux options de développement sur le téléphone et cliquez sur «Révoquer l'autorisation de débogage USB» (testé avec JellyBean et Samsung GalaxyIII).

3. Redémarrez le serveur ADB:

adb kill-server
adb start-server

4. Reconnectez le périphérique et exécutez à nouveau la commande suivante: périphériques adb

Maintenant, il devrait afficher autorisé.

5. Prêt à partir.

Maintenant, ouvrez votre éditeur Android Studio / Visual Studio Code et vérifiez si votre appareil s'affiche sur les appareils connectés ou non.

Vous pouvez simplement vérifier cela avec la commande flutter doctor.


8

Il doit y avoir au moins un appareil / simulateur connecté pour exécuter les applications Flutter .

Assurez-vous également que le débogage USB est activé dans les paramètres du développeur.


8

Si tu as

  • Téléchargé le SDK flutter
  • Connecté votre appareil mobile et activé l'option développeur sur le mobile et autorisé le débogage USB.

Et vous obtenez toujours "Aucun périphérique connecté" alors je pense que vous devez installer le pilote ADB. Cela a fonctionné pour moi !! Cliquez ici pour télécharger


8

Je suis confronté au même problème avec Flutter. Mais j'ai trouvé une autre façon de travailler c'est à dire

  1. Exécutez d'abord l'émulateur Android
  2. Accédez ensuite à votre console Flutter
  3. Exécutez la commande flutter doctor et vérifiez si votre émulateur s'affiche sous la balise des appareils connectés, par exemple entrez la description de l'image ici

  4. Maintenant, passez à votre chemin de projet Flutter via la console Flutter, par exemple, pour moi, c'est D: \ FlutterWorkspace \ flutter_demo

  5. Exécutez ensuite la commande flutter run. par exemple

entrez la description de l'image ici

Attendez quelques instants, vous verrez votre application s'exécuter dans Android Emulator. entrez la description de l'image ici


6

Une option que je n'ai pas vue mentionnée jusqu'à présent est que (pour ma configuration) l'option développeur 'Select USB Configuration' doit être définie sur MTP (Media Transfer Protocol).


6

J'utilise Linux alors voici l'étape peut vous aider. Premier studio ouvert avec l'autorisation root, ( fenêtre: cliquez avec le bouton droit sur l'icône du programme> Choisissez Exécuter en tant qu'administrateur , Linux:sudo ./studio.sh dans le terminal)

Créer un émulateur avec du matériel - GLES 2.0 dans l'accélération matérielle comme mentionné ici . Terminal ouvert dans le studio Android (Alt + F12)

Exécuter la commande flutter deviceset voir la liste des périphériques

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)

Enfin exécuté à partir du 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".

Et vérifiez le chemin flutter-sdk dans votre projet. de cette réponse


4

La réponse réelle n'a pas fonctionné pour moi.

Mais assis ANDROID_HOMEen toi~/.bash_profile et déconnectez-vous puis connectez-vous, faites-le fonctionner!

Cela peut être un problème Android Studio car il ne définit pas cette variable d'environnement pour les projets ouverts.


4

J'ai les mêmes problèmes pendant le débogage avec le moteur de flutter local. Dans ce cas, si vous avez défini une variable d'environnement FLUTTER_ENGINE, vous devez la désactiver et redémarrer votre IDE.


4

Aucune des solutions ci-dessus n'a fonctionné pour moi, mais j'ai pu le résoudre en invalidant catchet en redémarrant mon studio Android:

File > Invalidate Catches / Restart...

Seule solution qui a fonctionné
réel 19

4

Suivez ces étapes:
Fichier -> Structure du projet -> SDK du projet (sélectionnez le chemin du SDK dans le SDK Android) -> OK

Assurez-vous que votre appareil est connecté au PC.

Ouvrez GitBash et tapez: flutter devices. Exécutez ensuite votre application Flutter, cela fonctionnera.


3

Flutter a besoin d'un appareil pour exécuter l'application. Il y a deux choix pour cela.

  1. Exécutez l'application sur votre vrai téléphone.
  2. Exécutez l'application sur un appareil virtuel de votre ordinateur.

Je recommanderais l'option 1 car elle n'utilise pas les ressources de votre appareil et est plus rapide.

Option 1:

Déverrouillez les options du développeur sur votre téléphone, accédez aux paramètres du développeur, activez le débogage USB et connectez votre téléphone à votre ordinateur. Maintenant, exécutez flutter runet cela fonctionnera.

Option 2:

Ouvrez le studio Android, accédez au gestionnaire AVD, ajoutez un appareil virtuel si vous ne l'avez pas encore fait et exécutez l'appareil virtuel. Maintenant, exécutez à flutter runnouveau et cela devrait fonctionner.

Notez que cette méthode fonctionne avec n'importe quel appareil virtuel et pas seulement avec un appareil virtuel du studio Android.


3

J'ai résolu le problème après avoir remplacé "ANDROID_HOME" par les variables d'environnement et l'avoir défini à l'emplacement de votre SDK Android ... dans mon cas C: \ Android \ Sdk


3

C'était ma solution. J'espère que ma confusion peut aussi aider quelqu'un d'autre:

Mes "Options de développeur" étaient activées,

mais le «débogage USB» était désactivé.

J'ai donc activé le débogage USB et le problème a été résolu.


2

Pour les utilisateurs de fenêtres,

La solution pour moi était d' exécuter Android Studio en tant qu'administrateur


2

Il a essentiellement besoin d'un appareil "connecté" à votre machine de développement. Si vous utilisez un simulateur / émulateur fonctionnant sur la machine, il devrait automatiquement être reconnu comme un appareil connecté. Une autre façon consiste à connecter un appareil physique et le processus de configuration varie légèrement pour les appareils Android et iOS.


2

Pour moi c'était

  1. en ajoutant "ANDROID_HOME" aux variables d'environnement et en le définissant sur D: \ dev \ android \ (pour moi)

  2. en ajoutant "D: \ dev \ android \ platform-tools" (pour moi) à Path, je l'ai mis à flotter avant

  3. Ok, Ok, Ok Redémarrez le studio Android


2

Dans mon cas, flutter devices j'ai montré mon appareil correctement et la course de flottement a fonctionné comme prévu. mais l'appareil n'est pas affiché dans Android Studio.

Voici mon émotion:

dans mon .bash_profile, le SDK Android configuré comme ceci:

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

semble que le plugin flutter ne peut pas le recgize ~, donc je l'ai changé de cette façon:

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

rouvrir Android Studio, cela a fonctionné.


2

J'utilisais Visual Studio Code sur Mac et essayais d'exécuter le code Flutter sur mon iPhone. L'appareil n'apparaissait pas dans la barre d'état. J'ai résolu le problème en faisant cela dans le terminal:

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

Cela effacera essentiellement toutes les données de cache du dossier du référentiel Flutter. Ainsi, lorsque vous exécutez flutter doctor, il télécharge initialement certains fichiers


J'ai toujours eu le même problème, et les étapes ci-dessous vous aideront
abuder

Mon iPhone ne peut pas reconnaître par flottement sur le système mac. essayé de nombreuses façons, le vôtre fonctionne bien.Merci ~
Pulller

2

REMARQUE: j'utilise le mobile Mi (Xiaomi) (Redmi K20 Pro) qui fonctionne sur Android 10

Vous devez faire 2 choses pour afficher la liste de votre appareil.

1) Accédez à votre Android Studio -> Fichier -> Structure du projet et choisissez Project SDK dans les options. J'ai choisi le dernier dans le menu.

2) Lorsque vous connectez votre véritable appareil à votre PC / ordinateur portable, assurez-vous de choisir Transfer photos (PTP) mode.

REMARQUE : NE CHOISISSEZ PAS le mode de transfert de fichiers. Ça ne marchera pas.

Après avoir fait les 2 choses ci-dessus, vous pouvez vérifier l'état de la disponibilité de votre appareil en écrivant flutter devicesà l'invite de commande.

J'espère que cela montre votre appareil mobile.


2

ÉTAPE 1: Pour vérifier les appareils connectés, exécutez:flutter devices

ÉTAPE 2: S'il n'y a aucun périphérique connecté pour voir la liste des émulateurs disponibles, exécutez:flutter emulators

ÉTAPE 3: Pour exécuter un émulateur, exécutez:flutter emulators --launch <emulator id>

ÉTAPE 4: S'il n'y a pas d'émulateur disponible, exécutez:flutter emulators --create [--name xyz]

==> POUR ANDROID:

ÉTAPE 1: Pour vérifier la liste des émulateurs, exécutez:emulator -list-avds

ÉTAPE 2: Maintenant, pour lancer l'émulateur, exécutez:emulator -avd avd_name

==> POUR IOS:

ÉTAPE 1: open -a simulator

ÉTAPE 2: flutter run (Dans le répertoire de votre application)

J'espère que cela résoudra votre problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.