flutter run: nessun dispositivo collegato


227

Sto cercando di creare un'applicazione di esempio con flutter (nuova installazione) anche Android Studio è installato (nuova installazione)

Ecco l'output di flutter run

flutter run  
No connected devices.

l'uscita di 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.

C'è una soluzione a questo problema?


8
Hai un dispositivo collegato (debug USB abilitato) o un emulatore in esecuzione?
Günter Zöchbauer

fare flutter devicesper verificare se svolazzano a trovare nessuna dispositivi o non
denvercoder9

L'errore "Nessun dispositivo connesso" di solito significa che non hai abilitato sul tuo dispositivo le opzioni dello sviluppatore.
Shomu,

Per me questo accade per circa 1 minuto, quindi sembra raddrizzarsi. Android Studio funziona immediatamente, ma Flutter sembra eccessivamente lento in quasi tutto, incluso il riconoscimento dell'emulatore. Forse prova un po 'di pazienza e torna dopo una tazza di caffè?
Mitch,

7
Ho avuto lo stesso problema, ho risolto cambiando il cavo USB, perché alcuni cavi sono solo per l'alimentazione.
Thiago Silva Ferreira,

Risposte:


186

Flutter supporta dispositivi / simulatori iOS e Android.

Nel terminale, esegui il flutter devicescomando per verificare che Flutter riconosca il tuo dispositivo Android collegato.

Ecco un documento di riferimento, Come è possibile configurare Device / Simulator per eseguire l'applicazione.

Per, Android (su sistema Mac)

Configura il tuo dispositivo Android

Per prepararti a eseguire e testare la tua app Flutter su un dispositivo Android, avrai bisogno di un dispositivo Android con Android 4.1 (livello API 16) o superiore.

  1. Abilita le opzioni sviluppatore e il debug USB sul tuo dispositivo. Istruzioni dettagliate sono disponibili nella documentazione di Android.
  2. Utilizzando un cavo USB, collega il telefono al computer. Se richiesto sul dispositivo, autorizzare il computer ad accedere al dispositivo.
  3. Nel terminale, esegui il flutter devicescomando per verificare che Flutter riconosca il tuo dispositivo Android collegato.
  4. Avvia la tua app eseguendo Flutter Run.

Per impostazione predefinita, Flutter utilizza la versione di Android SDK su cui si basa lo strumento adb. Se desideri che Flutter utilizzi una diversa installazione di Android SDK, devi impostare la variabile di ambiente ANDROID_HOME su quella directory di installazione.

Imposta l'emulatore Android

Per preparare l'esecuzione e testare l'app Flutter sull'emulatore Android, attenersi alla seguente procedura:

  1. Abilita l'accelerazione VM sul tuo computer.
  2. Avviare Android Studio> Strumenti> Android> AVD Manager e selezionare Crea dispositivo virtuale.
  3. Scegli una definizione del dispositivo e seleziona Avanti.
  4. Seleziona una o più immagini di sistema per le versioni di Android che desideri emulare e seleziona Avanti. Si consiglia un'immagine x86 o x86_64.
  5. In Prestazioni emulate, selezionare Hardware - GLES 2.0 per abilitare l'accelerazione hardware.
  6. Verificare che la configurazione AVD sia corretta e selezionare Fine.

    Per i dettagli sui passaggi precedenti, consultare Gestione degli AVD.

  7. In Gestione dispositivi virtuali Android, fai clic su Esegui nella barra degli strumenti. L'emulatore si avvia e visualizza l'area di disegno predefinita per la versione del sistema operativo e il dispositivo selezionati.

  8. Avvia la tua app eseguendo Flutter Run. Il nome del dispositivo collegato è Android SDK creato per, dove piattaforma è la famiglia di chip, come x86.

-

Apri e collega il dispositivo utilizzando Android Studio:

Ecco un modo più semplice per aprire e collegare simulatori / dispositivi.

Android Studio mostra un elenco di emulatori / simulatori (installati nel sistema) o dispositivi (collegati al sistema). Basta selezionare un dispositivo che si desidera aprire da un elenco ed eseguire il progetto.

inserisci qui la descrizione dell'immagine


18
Non riesco a farlo funzionare. L'emulatore funziona bene. Posso distribuire ed eseguire un'applicazione Android ad esso. Ma il progetto Flutter di Android Studio continua a lamentarsi del fatto che non esiste un emulatore.
abjbhat,

8
Lo stesso qui, ottengo "Nessun dispositivo collegato trovato; si prega di collegare un dispositivo o vedere flutter.io/setup per le istruzioni di avvio." Nel frattempo riesco a vedere l'emulatore seduto sullo stesso schermo, attivo e in esecuzione.
Olisteadman,

{RISOLTO} Dopo un po 'ho fatto un errore di prova n, so esattamente che questo problema è causato dal file adb corrotto (per impostazione predefinita "flutter devices" chiamerà il file "adb" fornito dall'SDK, ad esempio il mio file adb.exe esiste in "C: \ Android \ Sdk \ platform-tools"). il modo per ovviare a questo problema è sostituire il file con l'altro file adb (assicurati di aver effettuato un backup precedente), puoi sostituire il tuo adb originale con il mio file adb che puoi scaricare al seguente link: gofile.io/ ? c = c0M3DC . Grazie
nurulhudamustaqim il

che dire di iOS su Mac? Ho diversi Mac e il mio MBA 2012 (USB-A) renderà disponibile la connessione solo se iTunes è in esecuzione. Il collegamento dello stesso dispositivo al mio flutter 2019 MBA (USB-C) non riconosce il dispositivo anche se iTunes lo fa,
Richard

Il mio Macbook Air 2012 con USB-A è in grado di rilevare il mio iPhone5 ma SOLO se avvio iTunes. Il mio Macbook Air 2019 con USB-C non è in grado di rilevare lo stesso iPhone5 (sì, affidabile e sì funziona in XCode e iTunes). Il mio telefono Android funziona su entrambi i sistemi (no iTunes), tuttavia, sull'MBA 2019 ho bisogno di un dongle USB-A / C.
Richard,

96

flutter config --android-sdk ANDROID_SDK_PATH

O

  • Dispositivo non trovato (durante l'installazione di Flutter in Android Studio)
  • Struttura del progetto -> seleziona l'ultima API ANDROID in Project SDK

inserisci qui la descrizione dell'immagine


2
Impostando Project SDK e Module SDK è stato risolto. Grazie.
Shirish Kadam,

2
Questo ha risolto il mio problema. Avevo i dispositivi in ​​esecuzione, ma il flutter non era in grado di rilevarli.
Mahdi-Malv,

Risolto anche per me. Grazie!
Lee Casey,

Ha funzionato per me. Nessun SDK è stato selezionato
phyyyl il

Risolto anche per me.
gamofe

35

Ho risolto il problema AVD con il flutter usando la console Flutter.

Passo 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

Per eseguire un emulatore, esegui flutter emulators --launch <emulator id>.

Passo 2:

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

33

Questa era la mia soluzione. Spero che la mia confusione possa aiutare anche qualcun altro:

Le mie " Opzioni sviluppatore " erano ON ,

ma " USB Debbugging " era OFF .

Quindi ho attivato USB Debbugging e il problema è stato risolto.


21

Nel mio caso

File> Struttura del progetto

seleziona l'ultimo sdk

inserisci qui la descrizione dell'immagine


Questa risposta è utile anche per me. Grazie.
Ashish,

se non esiste una struttura di progetto opzionale, riavvia Android Studio
Wilmer

Questa risposta è utile e ha risolto il problema. Grazie mille
Suna Arun,

21

Nessuno dei suggerimenti ha funzionato, fino a quando non ho corso

flutter config --android-sdk ANDROID_SDK_PATH

ma usa "PERCORSO" = il tuo percorso:

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


Dopo avere fatto quello ottenutounable to locate Android SDK
eggrobot78

1
@ eggrobot78 è stato in grado di risolvere questo problema aggiungendo il percorso di installazione dell'SDK di Android come variabile del percorso di ambiente per ANDROID_HOME.
Essbee

17

Riscontro lo stesso problema che hai fatto tu. Si scopre che il dispositivo non è collegato al computer.

Nota:

  • Se si utilizza XCode, se sia il computer che il dispositivo utilizzano lo stesso WIFI , non è necessario connettere il dispositivo al computer.
  • Per Android o iOS in esecuzione sotto il comando del terminale, se si utilizza la riga di comando per eseguire questo, è necessario assicurarsi che siano collegati tramite cavi . La condivisione dello stesso WIFI non funziona. Assicurati che il tuo dispositivo sia realmente connesso.
  • Assicurati di aver autorizzato il debug USB sul tuo dispositivo Android.

Se il problema persiste, prova a sparare sotto il comando, dove puoi ottenere informazioni e dettagli più ricchi:

flutter run --verbose

1
Ho avuto lo stesso problema, in cui VS Code può eseguire Flutter ma il terminale no. Mi chiedo se c'è un argomento che mi manca per farlo funzionare? Non sembra avere senso; Penso che i comandi VS Code o XCode servirebbero solo da front-end per la CLI.
pipedreambomb,

16

Cosa dovevo fare:

flutter emulators

Elencherà tutti gli emulatori disponibili. Per iOS dovrai prima aprire il simulatore.

flutter emulators --launch EMULATOR NAME

Questo avvierà l'emulatore

E per costruirlo

flutter run -d "EMULATOR ID"

15

Ho corso il mio con Genymotion, probabilmente il migliore per Flutter.

L'installazione è meno dolorosa e

Assicurati di impostare ADB sotto

inserisci qui la descrizione dell'immagine

- IL TUO PERCORSO SDK ANDROID -

Il mio è C: \ Users \ user \ AppData \ Local \ Android \ Sdk


Grazie. Ho reinstallato Genymotion e ho dovuto farlo.
Dan,

Genymotion è più leggero.
Roberto Góes,

Su Windows 10 ho dovuto riavviare il computer prima che
funzioni

11

Per l'utente finestra,

Imposta la variabile d'ambiente di Flutter SDK ( ... \ flutter_windows_v0.2.8-beta.zip \ flutter \ bin )

Nessun dispositivo collegato

Per ulteriori informazioni, è possibile consultare qui http://www.developerlibs.com/2018/05/flutter-introduction-and-setup.html

Ecco le informazioni dalla pagina menzionata: Aggiungi Flutter al percorso della variabile di ambiente Windows

  1. Passare alla cartella Flutter SDK.
  2. Vai all'interno della cartella bin e copia il percorso della directory (nel tuo caso C: \ Flutter \ bin)
  3. Vai a "Pannello di controllo> Account utente> Account utente> Modifica le variabili di ambiente"
  4. In "Variabili utente" selezionare la variabile del percorso e fare clic su Modifica.
  5. Metti C: \ Flutter \ bin e applica.

Come per Flutter Environment, dobbiamo impostare il percorso SDK Android se si trova in una posizione personalizzata.

  1. Passare alla cartella Android SDK.
  2. Copia il percorso della directory (nel tuo caso ..AndroidStudioSDK \ sdk)
  3. Vai a "Pannello di controllo> Account utente> Account utente> Modifica le variabili di ambiente"
  4. In "Variabili utente" selezionare la variabile del percorso e fare clic su Modifica.
  5. Inserisci ..AndroidStudioSDK \ sdk con ANDROID_HOME e applica.

Suggerimenti:

Se stai affrontando il seguente problema,

1. [✗] Toolchain Android - sviluppo per dispositivi Android ✗ Impossibile trovare l'SDK Android. Installa Android Studio da https://developer.android.com/studio/index.html Al primo avvio, ti assisterà nell'installazione dei componenti SDK di Android. (o visita https://flutter.io/setup/#android-setup per istruzioni dettagliate).

Se Android SDK è stato installato in un percorso personalizzato, imposta $ ANDROID_HOME su quel percorso.

Puoi risolverlo con il seguente comando.

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

  1. Errore: argomento sconosciuto - licenze

Puoi risolverlo con il seguente comando.

flutter -v doctor --android-licenses

Ora, scegli l'emulatore che desideri utilizzare e fai clic sulla freccia verde per eseguire il progetto. Quindi, qui schermata predefinita che è già stata progettata.


10

A volte hai tutto perfetto ma il dispositivo non è più autorizzato su ADB. In questi casi hai ADB ma non ti mostrerà nei dispositivi collegati.

I passaggi per risolvere questo problema

1. Verifica se autorizzato: Apri il terminale / cmd / PowerShell e scrivi i dispositivi adb che mostrerà tutti i dispositivi collegati al PC.

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

2. Revoca il debug USB sul telefono

Se il dispositivo viene visualizzato come non autorizzato, vai alle opzioni dello sviluppatore sul telefono e fai clic su "Revoca autorizzazione debug USB" (testato con JellyBean e Samsung GalaxyIII).

3. Riavvia il server ADB:

adb kill-server
adb start-server

4. Ricollegare il dispositivo ed eseguire nuovamente il comando seguente: adb devices

Ora dovrebbe essere autorizzato.

5. Pronto per partire.

Ora, apri il tuo editor Android Studio / Visual Studio Code e controlla se il tuo dispositivo viene visualizzato nei dispositivi collegati o meno.

Puoi semplicemente verificarlo con il comando medico flutter.


8

Dovrebbe esserci almeno un dispositivo / simulatore collegato per eseguire Flutter applicazioni .

Assicurati anche che il debug USB sia abilitato nelle impostazioni dello sviluppatore.


8

Se hai

  • Scaricato l'SDK flutter
  • Connesso il tuo dispositivo mobile e abilitato l'opzione sviluppatore sul cellulare e permesso il debug USB.

E ancora stai ottenendo "Nessun dispositivo collegato", quindi penso che dovresti installare il driver ADB. Ha funzionato per me !! Clicca qui per scaricare


8

Sto affrontando lo stesso problema con Flutter. Ma ho trovato un altro modo di lavorare, ad es

  1. Emulatore Android di prima esecuzione
  2. Quindi vai alla tua Flutter Console
  3. Esegui il comando flutter doctor e controlla se il tuo emulatore viene visualizzato sotto il tag dei dispositivi collegati, ad es inserisci qui la descrizione dell'immagine

  4. Ora passa al percorso del tuo progetto Flutter tramite la console Flutter, ad esempio per me è D: \ FlutterWorkspace \ flutter_demo

  5. Quindi eseguire il comando Flutter Run. per esempio

inserisci qui la descrizione dell'immagine

Attendi qualche istante e vedrai la tua app in esecuzione nell'emulatore Android. inserisci qui la descrizione dell'immagine


6

Un'opzione che non ho visto menzionato finora è che (per la mia configurazione) l'opzione Developer 'Seleziona configurazione USB' deve essere impostata su MTP (Media Transfer Protocol).


6

Sto usando Linux, quindi ecco il passaggio può aiutare. Prima apri lo studio con il permesso di root, ( finestra: fai clic con il pulsante destro del mouse sull'icona del programma> Scegli Esegui come amministratore , linux: sudo ./studio.shnel terminale)

Crea emulatore con Hardware - GLES 2.0 in accelerazione hardware come menzionato qui . Terminale aperto in Android Studio (Alt + F12)

Esegui il comando flutter devicese visualizza l'elenco dei dispositivi

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 eseguito dal terminale 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".

E controlla il percorso flutter-sdk nel tuo progetto. Configura da questa risposta


4

La risposta effettiva non ha funzionato per me.

Ma impostare ANDROID_HOMEin te ~/.bash_profilee disconnettersi quindi accedere, farlo funzionare!

Questo potrebbe essere un problema di Android Studio poiché non imposta questa variabile di ambiente per i progetti aperti.


4

Ho gli stessi problemi durante il debug con il motore di flutter locale. In tal caso, se è stata impostata la variabile di ambiente FLUTTER_ENGINE, è necessario disinserirla e riavviare l'IDE.


4

Nessuna delle soluzioni di cui sopra ha funzionato per me, ma sono stato in grado di risolverlo invalidando catche riavviando il mio studio Android:

File > Invalidate Catches / Restart...

L'unica soluzione che ha funzionato
reale 19

4

Attenersi alla seguente procedura:
File -> Struttura del progetto -> SDK del progetto (selezionare il percorso dell'SDK nell'SDK di Android) -> OK

Assicurarsi che il dispositivo sia collegato al PC.

Apri GitBash e digita: flutter devices. Quindi esegui la tua app Flutter. Funzionerà.


3

Flutter ha bisogno di un dispositivo per eseguire l'app. Ci sono due scelte per questo.

  1. Esegui l'app sul tuo vero telefono.
  2. Esegui l'app su un dispositivo virtuale nel tuo computer.

Consiglierei l'Opzione 1 perché non utilizza le risorse del dispositivo ed è più veloce.

Opzione 1:

Sblocca le opzioni dello sviluppatore sul telefono, vai alle impostazioni dello sviluppatore e attiva il debug USB e collega il telefono al computer. Ora corri flutter rune funzionerà.

Opzione 2:

Apri Android Studio, vai su AVD Manager, Aggiungi un dispositivo virtuale se non l'hai ancora fatto ed esegui il dispositivo virtuale. Ora esegui di flutter runnuovo e dovrebbe funzionare.

Nota che in questo modo funziona con qualsiasi dispositivo virtuale e non solo con il dispositivo virtuale di Android Studio.


3

Ho risolto il problema dopo aver modificato "ANDROID_HOME" nelle variabili di ambiente e averlo impostato sulla posizione del tuo SDK Android nel mio caso C: \ Android \ Sdk


3

Questa era la mia soluzione. Spero che la mia confusione possa aiutare anche qualcun altro:

Le mie "Opzioni sviluppatore" erano ON,

ma "USB Debbugging" era OFF.

Quindi ho attivato USB Debbugging e il problema è stato risolto.


2

Per l'utente finestra,

La soluzione per me era eseguire Android Studio come amministratore


2

Praticamente ha bisogno di un dispositivo "connesso" alla tua macchina di sviluppo. Se si utilizza un simulatore / emulatore in esecuzione sulla macchina, questo dovrebbe essere automaticamente riconosciuto come dispositivo collegato. Un altro modo è quello di connettere un dispositivo fisico e il processo di installazione varia leggermente per i dispositivi Android e iOS.


2

Per me lo è stato

  1. aggiungendo "ANDROID_HOME" alle variabili di ambiente e impostandolo su D: \ dev \ android \ (per me)

  2. aggiungendo "D: \ dev \ android \ platform-tools" (per me) a Path ho messo il flutter lì prima

  3. Ok, Ok, Ok Riavvia Android Studio


2

Nel mio caso, flutter devicesho mostrato il mio dispositivo correttamente e il funzionamento del flutter ha funzionato come previsto. ma il dispositivo non è mostrato in Android Studio.

Ecco la mia solitudine:

nel mio .bash_profile, l'SDK di Android è stato configurato in questo modo:

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

sembra che il plugin flutter non riesca a riconfigurare il ~, quindi l'ho cambiato in questo modo:

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

riaprire Android Studio, ha funzionato.


2

Stavo usando Visual Studio Code su Mac e stavo cercando di eseguire il codice Flutter sul mio iPhone. Il dispositivo non veniva visualizzato nella barra di stato. Ho risolto il problema facendo questo nel Terminale:

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

Questo sostanzialmente cancellerà tutti i dati della cache dalla cartella del repository Flutter. Quindi quando esegui flutter doctor scaricherà inizialmente alcuni file


Ho sempre avuto lo stesso problema e i passaggi seguenti aiuteranno
abuder il

Il mio iPhone non è in grado di riconoscere flutter sul sistema mac. provato in molti modi, il tuo funziona bene. Grazie ~
Pulller,

2

NOTA: sto usando Mi (Xiaomi) mobile (Redmi K20 Pro) che funziona su Android 10

Devi fare 2 cose per mostrare la tua scheda del dispositivo.

1) Vai su Android Studio -> File -> Struttura del progetto e scegli Project SDK dalle opzioni. Ho scelto l'ultimo dal menu.

2) Quando colleghi il tuo vero dispositivo al PC / laptop, assicurati di scegliere Transfer photos (PTP) mode.

NOTA : NON SCEGLIERE la modalità di trasferimento file. Non funzionerà.

Dopo aver eseguito le 2 operazioni precedenti, è possibile verificare lo stato della disponibilità del dispositivo scrivendo flutter devicesal prompt dei comandi.

Spero che mostri il tuo dispositivo mobile.


2

PASSAGGIO 1: per verificare i dispositivi collegati, eseguire:flutter devices

PASSAGGIO 2: se non sono presenti dispositivi collegati per visualizzare l'elenco degli emulatori disponibili, eseguire:flutter emulators

PASSAGGIO 3: per eseguire un emulatore, eseguire:flutter emulators --launch <emulator id>

PASSAGGIO 4: se non è disponibile un emulatore, eseguire:flutter emulators --create [--name xyz]

==> PER ANDROID:

PASSAGGIO 1: per controllare l'elenco degli emulatori, eseguire:emulator -list-avds

PASSAGGIO 2: ora per avviare l'emulatore, eseguire:emulator -avd avd_name

==> PER IOS:

PASSO 1: open -a simulator

PASSAGGIO 2: flutter run (nella directory dell'app)

Spero che questo risolva il tuo problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.