Eseguire app su un dispositivo hardware

Testa sempre la tua app per Android su un dispositivo reale prima di rilasciarla agli utenti. Questa pagina descrive come configurare il tuo ambiente di sviluppo e il tuo dispositivo Android per i test e il debug tramite una connessione Android Debug Bridge (ADB).

Configurare un dispositivo per lo sviluppo

Prima di poter iniziare il debug sul dispositivo, decidi se collegarti al dispositivo tramite cavo USB o Wi-Fi. Poi:

  1. Sul dispositivo, apri l'app Impostazioni, seleziona Opzioni sviluppatore e attiva Debug USB (se applicabile).

  2. Configura il sistema in modo che rilevi il dispositivo.

    • ChromeOS: non è richiesta alcuna configurazione aggiuntiva.
    • macOS: non è richiesta alcuna configurazione aggiuntiva.
    • Windows: installa un driver USB per ADB (se applicabile). Per una guida all'installazione e link ai driver USB OEM, consulta Installare i driver USB OEM.
    • Ubuntu Linux: configura quanto segue:

      • Ogni utente che vuole utilizzare ADB deve appartenere al gruppo plugdev. Se viene visualizzato un messaggio di errore che ti informa che non fai parte del gruppo plugdev, aggiungiti utilizzando il seguente comando:
      sudo usermod -aG plugdev $LOGNAME
      

      I gruppi vengono aggiornati solo al momento dell'accesso, quindi devi uscire per far sì che la modifica abbia effetto. Quando accedi di nuovo, puoi utilizzare id per verificare di appartenere al gruppo plugdev.

      • Sul sistema devono essere installate regole udev che coprono il dispositivo. Il pacchetto android-sdk-platform-tools-common contiene un insieme predefinito di regole udev per i dispositivi Android gestito dalla community. Per installarlo, utilizza il seguente comando:
      apt-get install android-sdk-platform-tools-common
      

Connettiti al dispositivo tramite USB

Una volta completata la configurazione e collegato il dispositivo tramite USB, fai clic su Esegui in Android Studio per compilare ed eseguire l'app sul dispositivo.

Puoi anche utilizzare adb per emettere comandi, come segue:

  • Verifica che il dispositivo sia connesso eseguendo il comando adb devices dalla directory android_sdk/platform-tools/. Se è collegato, vedrai il dispositivo nell'elenco.
  • Esegui qualsiasi comando adb con il flag -d per scegliere come target il tuo dispositivo.

Connettiti al dispositivo tramite Wi-Fi

Android 11 e versioni successive supportano il deployment e il debug dell'app tramite rete wireless dalla tua workstation tramite Android Debug Bridge (ADB). Ad esempio, puoi eseguire il deployment dell'app di debug su più dispositivi remoti senza collegare fisicamente il dispositivo tramite USB e senza dover affrontare i problemi di connessione USB comuni, come l'installazione dei driver.

Per utilizzare il debug wireless, devi accoppiare il dispositivo alla stazione di lavoro utilizzando un codice di accoppiamento. Per iniziare, completa i seguenti passaggi:

  1. Assicurati che la workstation e il dispositivo siano connessi alla stessa rete wireless.
  2. Assicurati che sul dispositivo sia installato Android 11 o versioni successive. Per ulteriori informazioni, consulta l'articolo Controllare e aggiornare la versione di Android.
  3. Assicurati di aver installato la versione più recente di Android Studio. Scaricala qui.
  4. Sulla tua workstation, esegui l'aggiornamento alla versione più recente di SDK Platform Tools.

Per connetterti al dispositivo:

  1. Apri Android Studio e seleziona Accoppia dispositivi tramite Wi-Fi dal menu di configurazione di esecuzione.
    Menu a discesa Esegui configurazioni
    Figura 1. Menu Esegui configurazioni.

    Viene visualizzata la finestra di dialogo Accoppia dispositivi tramite Wi-Fi, come mostrato nella figura 2.
    Screenshot della finestra popup per l'accoppiamento dei dispositivi tramite Wi-Fi
    Figura 2. Dialogo per accoppiare i dispositivi utilizzando il codice QR o il codice di accoppiamento.
  2. Attiva le opzioni sviluppatore sul tuo dispositivo.
  3. Attiva il debugging tramite Wi-Fi sul tuo dispositivo.
    Screenshot di uno smartphone Pixel che mostra l'impostazione di debug wireless.
    Figura 3. L'impostazione Debug wireless su uno smartphone Google Pixel.
  4. Tocca Debug wireless e accoppia il dispositivo:
    1. Per accoppiare il dispositivo con un codice QR, seleziona Accoppia dispositivo con codice QR e scansiona il codice QR, mostrato in figura 2.
    2. Per accoppiare il dispositivo con un codice di accoppiamento, seleziona Accoppia dispositivo con codice di accoppiamento dalla finestra di dialogo Accoppia nuovi dispositivi tramite Wi-Fi. Sul dispositivo, seleziona Accoppia utilizzando il codice di accoppiamento. Viene visualizzato un codice di sei cifre. Quando il tuo dispositivo viene visualizzato nella finestra Accoppia dispositivi tramite Wi-Fi, inserisci il codice di sei cifre visualizzato sul dispositivo e seleziona Accoppia .
      Screenshot di un esempio di inserimento del codice di accoppiamento
      Figura 4. Esempio di inserimento del codice di accoppiamento di sei cifre.
  5. Dopo l'accoppiamento, puoi tentare di eseguire il deployment dell'app sul dispositivo.

Per accoppiare un altro dispositivo o per dimenticare questo dispositivo sulla tua workstation:

  1. Vai a Debug wireless sul tuo dispositivo.
  2. Tocca il nome della tua workstation in Dispositivi accoppiati.
  3. Seleziona Di'melo dopo.

Mirroring del dispositivo

Puoi eseguire il mirroring del tuo dispositivo fisico nella finestra Dispositivi in esecuzione in Android Studio. Trasmettendo in streaming il display del dispositivo direttamente ad Android Studio, puoi utilizzare l'IDE Studio stesso per eseguire azioni comuni come avviare le app e interagire con esse, ruotare lo schermo, piegare e aprire lo smartphone e regolare il volume.

Il mirroring dei dispositivi è sempre disponibile quando sono collegati al computer dispositivi con il debug USB o wireless abilitato. Puoi avviare e interrompere il mirroring utilizzando la finestra Dispositivi in esecuzione o Gestione dispositivi (Visualizza > Finestre degli strumenti > Gestione dispositivi). Puoi anche personalizzare quando viene attivato il mirroring del dispositivo nelle relative impostazioni (Impostazioni > Strumenti > Mirroring del dispositivo).

Interfaccia utente dei dispositivi in esecuzione

Reindirizzare l'audio

Quando utilizzi il mirroring dei dispositivi, puoi reindirizzare l'audio dai dispositivi fisici connessi agli altoparlanti o alle cuffie del computer. Con il rie indirizzamento audio, puoi tenere le cuffie collegate al computer e ascoltare sia il computer sia lo smartphone connesso senza dover ricollegare manualmente un dispositivo e poi l'altro. Per attivare il reindirizzamento dell'audio, vai a File (Android Studio su macOS) > Impostazioni > Strumenti > Mirroring dispositivo e seleziona Reindirizza l'audio dai dispositivi locali. Tieni presente che l'audio viene sempre reindirizzato, indipendentemente dalle impostazioni, per i dispositivi Firebase Test Lab su cui è in esecuzione Android 12 o superiore.

Problemi noti

Alcuni dispositivi potrebbero non essere in grado di eseguire la codifica a una velocità in bit sufficiente per supportare il mirroring del dispositivo. In queste situazioni, potresti visualizzare un errore nella finestra Dispositivi in esecuzione, nonché log simili ai seguenti.

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

Informativa sulla privacy

In base alle impostazioni di mirroring del dispositivo, Android Studio può avviare automaticamente il mirroring del dispositivo per qualsiasi dispositivo connesso e accoppiato. Ciò potrebbe comportare la divulgazione di informazioni per i dispositivi connessi con il comando adb tcpip perché le informazioni e i comandi di mirroring vengono trasmessi su un canale non criptato. Inoltre, Android Studio utilizza un canale non criptato per comunicare con il server adb, pertanto le informazioni di mirroring possono essere intercettate da altri utenti sulla tua macchina host.

Risolvere i problemi di connessione del dispositivo

Se il dispositivo non si connette ad Android Studio, prova a svolgere i passaggi che seguono per risolvere il problema:

Risolvere i problemi con l'Assistente alla connessione

L'Assistente alla connessione fornisce istruzioni passo passo per aiutarti a configurare e utilizzare un dispositivo tramite la connessione ADB.

Per avviare l'assistente, scegli Strumenti > Risolvi i problemi di connessione dei dispositivi.

L'Assistente alla connessione fornisce istruzioni, controlli in-context e un elenco di dispositivi connessi in una serie di pagine del riquadro Assistente. Utilizza i pulsanti Avanti e Precedente nella parte inferiore del riquadro Assistente per esaminare le pagine in base alle tue esigenze:

  • Collega il dispositivo tramite USB: l'Assistente alla connessione ti chiede prima di collegare il dispositivo tramite USB e fornisce un pulsante Riscanna dispositivi USB per avviare una nuova ricerca dei dispositivi connessi.
  • Attiva il debug USB: l'Assistente alla connessione ti spiega come attivare il debug USB nelle opzioni sviluppatore sul dispositivo.
  • Riavvia il server ADB: se il tuo dispositivo continua a non essere visualizzato nell'elenco dei dispositivi disponibili, utilizza il pulsante Riavvia il server ADB nell'ultima pagina dell'Assistente alla connessione. Riavviando il server ADB, anche ADB eseguirà di nuovo la ricerca dei dispositivi. Se ancora non vedi il tuo dispositivo nell'elenco di dispositivi disponibili, prova la procedura di risoluzione dei problemi descritta nella sezione seguente.

Risolvere i problemi di connessione USB

Se l'Assistente alla connessione non rileva il dispositivo tramite USB, prova la procedura di risoluzione dei problemi riportata di seguito:

Verifica che Android Studio si connetta all'emulatore Android

Per verificare se il problema è causato da un problema di connessione tra Android Studio e l'emulatore Android:

  1. Apri Gestione dispositivi.
  2. Crea un nuovo AVD se non ne hai già uno.
  3. Esegui l'emulatore utilizzando l'AVD.
  4. Esegui una delle seguenti operazioni:
    • Se Android Studio non riesce a connettersi all'emulatore, scarica la versione più recente di SDK Platform Tools e riprova.
    • Se l'emulatore si avvia correttamente, controlla il cavo USB come descritto nella sezione seguente.

Controlla il cavo USB

Per verificare se il problema è causato da un cavo USB difettoso, segui i passaggi indicati in questa sezione.

Se hai un altro cavo USB:

  1. Collega il dispositivo utilizzando il cavo secondario.
  2. Controlla se ora l'Assistente alla connessione riesce a rilevare il dispositivo.
  3. Se il dispositivo non viene rilevato, riprova con il cavo principale.
  4. Se il dispositivo continua a non essere rilevato, presupponi che il problema sia con il dispositivo e controlla se il dispositivo è configurato per lo sviluppo come descritto nella sezione seguente.

Se non hai un altro cavo USB, ma hai un altro dispositivo Android:

  1. Collega il dispositivo secondario al computer.
  2. Se l'Assistente alla connessione riesce a rilevare il dispositivo secondario, presupponi che il problema riguardi il dispositivo principale e controlla se il dispositivo è configurato per lo sviluppo.

    Se il dispositivo secondario non viene rilevato, il problema potrebbe riguardare il cavo USB.

Controllare se il dispositivo è configurato per lo sviluppo

Per verificare se il problema è causato dalle impostazioni del dispositivo, segui questi passaggi:

  1. Segui i passaggi descritti nella sezione Configurare un dispositivo per lo sviluppo.
  2. Se il problema persiste, contatta l'assistenza clienti dell'OEM del dispositivo per ricevere assistenza. Comunica al rappresentante dell'Assistenza clienti che il dispositivo non si connette ad Android Studio utilizzando ADB.

Risolvere i problemi di connessione wireless

Se hai problemi a connetterti al dispositivo in modalità wireless, puoi provare i seguenti passaggi per la risoluzione dei problemi:

Verificare se la workstation e il dispositivo soddisfano i prerequisiti

Per soddisfare i prerequisiti per il debug wireless, assicurati che:

Verificare la presenza di altri problemi noti

Di seguito è riportato un elenco dei problemi attualmente noti relativi al debug wireless in Android Studio e le relative soluzioni:

  • Il Wi-Fi non si connette: alcune reti Wi-Fi, come quelle aziendali, potrebbero bloccare le connessioni p2p e non consentirti di connetterti tramite Wi-Fi. Prova a connetterti tramite cavo o un'altra rete Wi-Fi.
  • ADB tramite Wi-Fi a volte si disattiva automaticamente: questo può accadere se il dispositivo cambia rete Wi-Fi o si disconnette dalla rete.

Token di sicurezza RSA

Quando colleghi un dispositivo con Android 4.2.2 (livello API 17) o versioni successive al computer, il sistema mostra una finestra di dialogo che chiede se accettare una chiave RSA che consente il debug tramite questo computer. Questo meccanismo di sicurezza protegge i dispositivi degli utenti perché il debug USB e altri comandi adb non possono essere eseguiti a meno che non sia possibile sbloccare il dispositivo e confermare la finestra di dialogo.