Eseguire app su un dispositivo hardware

Testa sempre l'app per Android su un dispositivo reale prima di rilasciarla agli utenti. In questa pagina viene descritto come configurare l'ambiente di sviluppo e il dispositivo Android per i test e il debug tramite una connessione Android Debug Bridge (ADB).

Configurare un dispositivo per lo sviluppo

Prima di iniziare il debug sul tuo dispositivo, decidi se connetterti al dispositivo tramite un cavo USB o Wi-Fi. Poi esegui le seguenti operazioni:

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

  2. Configura il sistema per il rilevamento del dispositivo.

    • ChromeOS: non sono necessarie ulteriori configurazioni.
    • macOS: non sono necessarie ulteriori configurazioni.
    • Windows: installa un driver USB per ADB (se applicabile). Per una guida all'installazione e i link ai driver OEM, consulta l'articolo Installare i driver USB OEM.
    • Ubuntu Linux: configura quanto segue:

      • Ogni utente che vuole utilizzare ADB deve essere nel gruppo plugdev. Se viene visualizzato un messaggio di errore che indica 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 per applicare la modifica devi disconnetterti. Quando accedi di nuovo, puoi utilizzare id per verificare di essere nel gruppo plugdev.

      • Nel sistema deve essere installata l'app udev regola che copre il dispositivo. Il pacchetto android-sdk-platform-tools-common contiene un insieme predefinito di regole udev gestito dalla community per i dispositivi Android. Per installarlo, utilizza il seguente comando:
      apt-get install android-sdk-platform-tools-common
      

Connetti al tuo dispositivo tramite USB

Dopo aver configurato e collegato l'app tramite USB, fai clic su Esegui in Android Studio per creare ed eseguire l'app sul dispositivo.

Puoi anche utilizzare adb per impartire comandi, come segue:

  • Verifica che il dispositivo sia connesso eseguendo il comando adb devices dalla directory android_sdk/platform-tools/. Se è connesso, il dispositivo sarà elencato.
  • Esegui un 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 in modalità wireless dalla workstation tramite Android Debug Bridge (ADB). Ad esempio, puoi eseguire il deployment dell'app di cui è possibile eseguire il debug su più dispositivi remoti senza collegare fisicamente il dispositivo tramite USB e senza dover affrontare problemi di connessione USB comuni, come l'installazione dei driver.

Per utilizzare il debug wireless, devi associare il dispositivo alla workstation 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 maggiori informazioni, consulta l'articolo Controllare e aggiornare la versione di Android.
  3. Assicurati di avere installato la versione più recente di Android Studio. Scaricala qui.
  4. Sulla workstation, esegui l'aggiornamento alla versione più recente degli strumenti SDK Platform.

Per connetterti al tuo dispositivo, procedi nel seguente modo:

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

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

Per accoppiare un altro dispositivo o per eliminare questo dispositivo sulla workstation:

  1. Vai a Debug wireless sul tuo dispositivo.
  2. Tocca il nome della workstation in Dispositivi accoppiati.
  3. Seleziona Elimina.

Mirroring dispositivo

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

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

UI Dispositivi in esecuzione

Reindirizza l'audio

Quando utilizzi il mirroring del dispositivo, puoi reindirizzare l'audio dai dispositivi fisici connessi agli altoparlanti o alle cuffie del computer. Con il reindirizzamento audio, mantieni le cuffie collegate al computer e ascolta sia il computer sia lo smartphone connesso senza dover riconnettere manualmente un dispositivo e poi un altro. Per attivare il reindirizzamento audio, vai su 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 con Android 12 o versioni successive.

Problemi noti

Alcuni dispositivi potrebbero non essere in grado di codificare a una velocità in bit sufficiente per supportare il mirroring del dispositivo. In queste situazioni, è possibile che venga visualizzato un errore nella finestra Dispositivi in esecuzione e in log simili al seguente.

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, in modo che le informazioni di mirroring possano essere intercettate da altri utenti sul computer host.

Risolvere i problemi di connessione del dispositivo

Se il tuo dispositivo non si connette ad Android Studio, prova a procedere nel seguente modo per risolvere il problema:

Risolvere i problemi relativi all'Assistente connessione

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

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

L'Assistente di connessione fornisce istruzioni, controlli contestuali e un elenco di dispositivi connessi in una serie di pagine nel riquadro Assistente. Usa i pulsanti Avanti e Indietro nella parte inferiore del riquadro Assistente per spostarti tra le pagine come necessario:

  • Connetti il dispositivo tramite USB: l'Assistente di connessione prima ti chiede di collegare il dispositivo tramite USB e fornisce un pulsante Ripeti scansione dispositivi USB con cui puoi avviare una nuova ricerca dei dispositivi connessi.
  • Attiva il debug USB. L'Assistente connessione ti spiega quindi come attivare il debug USB nelle opzioni sviluppatore sul dispositivo.
  • Riavvia il server ADB: se il tuo dispositivo non è ancora presente nell'elenco dei dispositivi disponibili, utilizza il pulsante Riavvia il server ADB nell'ultima pagina dell'Assistente connessione. Il riavvio del server ADB fa sì che ADB ripeta la ricerca dei dispositivi. Se ancora non trovi il tuo dispositivo nell'elenco dei dispositivi disponibili, prova a seguire i passaggi per la risoluzione dei problemi descritti nella sezione seguente.

Risolvere i problemi di connessione USB

Se l'Assistente connessione non rileva il dispositivo tramite USB, prova a risolvere il problema svolgendo i seguenti passaggi per la risoluzione dei problemi:

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, procedi nel seguente modo:

  1. Apri Gestione dispositivi.
  2. Crea una nuova durata di visualizzazione media, se non ne hai già una.
  3. Esegui l'emulatore utilizzando la durata di visualizzazione media.
  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 la procedura descritta in questa sezione.

Se hai un altro cavo USB:

  1. Collega il dispositivo usando il cavo secondario.
  2. Controlla se ora l'Assistente connessione è in grado di rilevare il dispositivo.
  3. Se il dispositivo non viene rilevato, riprova a usare il cavo principale.
  4. Se il dispositivo continua a non essere rilevato, supponiamo che il problema riguardi il dispositivo e verifica 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 connessione riesce a rilevare il dispositivo secondario, presume che il problema riguardi il dispositivo principale e verifica se il dispositivo è configurato per lo sviluppo.

    Se non viene rilevato il dispositivo secondario, 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, procedi nel seguente modo:

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

Risolvere i problemi di connessione wireless

Se hai difficoltà a connetterti al tuo dispositivo in modalità wireless, prova a seguire questi passaggi per la risoluzione dei problemi:

Controlla se la workstation e il dispositivo soddisfano i prerequisiti

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

Verifica la presenza di altri problemi noti

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

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

Token di sicurezza RSA

Quando connetti un dispositivo con Android 4.2.2 (livello API 17) o versioni successive al computer, il sistema mostra una finestra di dialogo in cui viene chiesto se accettare una chiave RSA che consenta il debug tramite il computer. Questo meccanismo di sicurezza protegge i dispositivi degli utenti perché non è possibile eseguire il debug USB e altri comandi di adb a meno che tu non riesca a sbloccare il dispositivo e a confermare la finestra di dialogo.