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 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 poter iniziare il debug sul dispositivo, decidi se vuoi connetterti al dispositivo utilizzando un cavo USB o il Wi-Fi. Poi:

  1. Sul dispositivo, apri l'app Impostazioni , seleziona Opzioni sviluppatore e poi 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 OEM, consulta Installare i driver USB OEM.
    • Ubuntu Linux: configura quanto segue:

      • Ogni utente che vuole utilizzare ADB deve appartenere al gruppo plugdev. Se visualizzi 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 devi uscire per applicare la modifica. Quando accedi di nuovo, puoi utilizzare id per verificare di appartenere al gruppo plugdev.

      • Sul sistema devono essere installate le regole udev che riguardano 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
      

Connettersi al dispositivo tramite USB

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

Puoi anche utilizzare adb per eseguire i comandi, come segue:

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

Connettersi 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 risolvere i problemi comuni di connessione USB, come l'installazione dei driver.

Per utilizzare il debug wireless, devi accoppiare 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 ulteriori informazioni, consulta la pagina Controllare e aggiornare la versione di Android.
  3. Assicurati di aver installato l'ultima versione di Android Studio. Scaricala qui.
  4. Sulla workstation, esegui l'aggiornamento all'ultima versione degli strumenti della piattaforma SDK.

Per connetterti al dispositivo:

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

    Viene visualizzata la finestra di dialogo Accoppia dispositivi tramite Wi-Fi, come mostrato nella figura 2.
    Screenshot della finestra popup Accoppia dispositivi tramite Wi-Fi
    Figura 2. Finestra di dialogo per accoppiare dispositivi utilizzando il codice QR o il codice di accoppiamento.
  2. Attiva le opzioni sviluppatore sul dispositivo.
  3. Attiva il debug tramite Wi-Fi sul dispositivo.
    Screenshot di uno smartphone Pixel che mostra l'impostazione di sistema
      Debug wireless.
    Figura 3. L'impostazione Debug wireless su uno smartphone Google Pixel phone.
  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 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 dispositivo, seleziona Accoppia utilizzando il codice di accoppiamento. Viene visualizzato un codice di sei cifre. Quando il dispositivo viene visualizzato nella finestra Accoppia dispositivi tramite Wi-Fi, inserisci il codice di sei cifre mostrato sul dispositivo e seleziona Accoppia .
      Screenshot dell'inserimento di un codice di accoppiamento di esempio
      Figura 4. Esempio di inserimento di un codice di accoppiamento di sei cifre.
  5. Dopo l'accoppiamento, puoi provare a eseguire il deployment dell'app sul dispositivo.

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

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

Mirroring del dispositivo

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

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

UI dei dispositivi per la corsa

Reindirizzare l'audio

Quando utilizzi il mirroring del dispositivo, puoi reindirizzare l'audio dai dispositivi fisici connessi agli speaker o alle cuffie del computer. Con il reindirizzamento audio, puoi tenere le cuffie collegate al computer e ascoltare sia il computer sia lo smartphone connesso senza dover ricollegarti manualmente a un dispositivo e poi all'altro. Per attivare il reindirizzamento audio, vai a File (Android Studio su macOS) > Impostazioni > Strumenti > Mirroring del 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 un bitrate sufficiente per supportare il mirroring del dispositivo. In questi casi, 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 macchina host.

Risolvere i problemi di connessione del dispositivo

Se il dispositivo non si connette ad Android Studio, prova a seguire questi passaggi per risolvere il problema:

Risolvere i problemi con l'Assistente per la connessione

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

Per avviare l'assistente, scegli Strumenti > Risolvi i problemi di connessione del dispositivo.

L'Assistente per la connessione fornisce istruzioni, controlli contestuali e un elenco di dispositivi connessi in una serie di pagine nel riquadro Assistente. Utilizza i pulsanti Avanti e Indietro nella parte inferiore del riquadro Assistente per sfogliare le pagine in base alle tue esigenze:

  • Connetti il dispositivo tramite USB: l'Assistente per la connessione ti chiede innanzitutto di connettere il dispositivo tramite USB e fornisce un pulsante Esegui di nuovo la scansione dei dispositivi USB da cui puoi avviare una nuova scansione dei dispositivi connessi.
  • Attiva il debug USB: l'Assistente per la connessione ti spiega come attivare il debug USB nelle opzioni sviluppatore sul dispositivo.
  • Riavvia il server ADB: se ancora non vedi il dispositivo nell' elenco dei dispositivi disponibili, utilizza il pulsante Riavvia server ADB nell' ultima pagina dell'Assistente per la connessione. Il riavvio del server ADB fa sì che ADB esegua di nuovo la scansione dei dispositivi. Se ancora non vedi il dispositivo nell'elenco dei dispositivi disponibili, prova a seguire i passaggi per la risoluzione dei problemi nella sezione seguente.

Risolvere i problemi di connessione USB

Se l'Assistente per la connessione non rileva il dispositivo tramite USB, prova a seguire questi passaggi per la risoluzione dei problemi:

Verificare 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 gli strumenti della piattaforma SDK più recenti e riprova.
    • Se l'emulatore si avvia correttamente, controlla il cavo USB come descritto nella sezione seguente.

Controllare il cavo USB

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

Se hai un altro cavo USB:

  1. Collega il dispositivo utilizzando il cavo secondario.
  2. Verifica se l'Assistente per la connessione riesce ora a rilevare il dispositivo.
  3. Se il dispositivo non viene rilevato, prova di nuovo con il cavo principale.
  4. Se il dispositivo continua a non essere rilevato, supponi che il problema sia del dispositivo e verifica se è 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 per la connessione riesce a rilevare il dispositivo secondario, supponi che il problema sia del dispositivo principale e verifica se il dispositivo è configurato per lo sviluppo.

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

Verificare se il dispositivo è configurato per lo sviluppo

Per verificare se il problema è causato dalle impostazioni del dispositivo:

  1. Segui i passaggi descritti nella Configurare un dispositivo per lo sviluppo sezione.
  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 riscontri problemi di connessione wireless al dispositivo, puoi provare a seguire questi passaggi per la risoluzione dei problemi:

Verificare se la workstation e il dispositivo soddisfano i prerequisiti

Per soddisfare i prerequisiti per il debug wireless:

Verificare la presenza di altri problemi noti

Di seguito è riportato un elenco dei problemi attualmente noti relativi al debug wireless in Android Studio e di come risolverli:

  • Il Wi-Fi non si connette: alcune reti Wi-Fi, come le reti Wi-Fi aziendali, potrebbero bloccare le connessioni p2p e non consentire la connessione tramite Wi-Fi. Prova a connetterti con un cavo o un'altra rete Wi-Fi.
  • A volte 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 colleghi un dispositivo con Android 4.2.2 (livello API 17) o versioni successive al computer, il sistema mostra una finestra di dialogo che ti chiede se accettare una chiave RSA che consenta 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 tu non sia in grado di sbloccare il dispositivo e riconoscere la finestra di dialogo.