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 il test e il debug tramite una connessione Android Debug Bridge (ADB).

Configurare un dispositivo per lo sviluppo

Prima di poter iniziare il debug sul tuo dispositivo, decidi se vuoi connetterti al dispositivo tramite cavo USB o Wi-Fi. Poi, procedi nel seguente modo:

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

  2. Configura il sistema per rilevare il dispositivo.

    • ChromeOS: non è richiesta alcuna configurazione aggiuntiva.
    • macOS: non è necessaria 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 all'accesso, quindi devi disconnetterti perché la modifica abbia effetto. Quando accedi di nuovo, puoi utilizzare id per verificare di far parte del gruppo plugdev.

      • Sul sistema devono essere installate regole udev che coprano 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 comando seguente:
      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 inviare 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 elencato.
  • Esegui qualsiasi comando adb con il flag -d per scegliere come target il tuo dispositivo.

Connettersi al dispositivo tramite Wi-Fi

Android 11 e versioni successive supportano il deployment e il debug della tua app in modalità wireless dalla tua 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 connettere 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 l'articolo Controllare e aggiornare la versione di Android.
  3. Assicurati di aver installato l'ultima versione di Android Studio. Scaricala qui.
  4. Sulla tua workstation, esegui l'aggiornamento all'ultima versione di SDK Platform Tools.

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 Esegui configurazioni.

    Viene visualizzata la finestra di dialogo Accoppia dispositivi tramite Wi-Fi, come mostrato nella Figura 2.
    Screenshot della finestra popup Accoppia i dispositivi tramite Wi-Fi
    Figura 2. Finestra di dialogo per accoppiare i dispositivi utilizzando il codice QR o il codice di accoppiamento.
  2. Attiva le opzioni per sviluppatori sul tuo dispositivo.
  3. Attiva il debug 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 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 dalla finestra di dialogo Accoppia nuovi dispositivi tramite Wi-Fi. Sul tuo dispositivo, seleziona Accoppia tramite 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 mostrato sul dispositivo e seleziona Accoppia .
      Screenshot dell'inserimento del codice di accoppiamento di esempio
      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 workstation:

  1. Vai a Debug wireless sul tuo dispositivo.
  2. Tocca il nome della tua postazione di lavoro nella sezione Dispositivi accoppiati.
  3. Seleziona Dimentica.

Mirroring del dispositivo

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

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

UI di Running Devices

Reindirizzare 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 dell'audio, mantieni le cuffie connesse al computer e ascolta sia il computer che lo smartphone connesso senza dover riconnetterti manualmente a un dispositivo e poi a un altro. Per attivare il reindirizzamento audio, vai a File (Android Studio su macOS) > Impostazioni > Strumenti > Duplicazione dispositivo e seleziona Reindirizza audio da dispositivi locali. Tieni presente che l'audio viene sempre reindirizzato, indipendentemente dalle impostazioni, per i dispositivi Firebase Test Lab che eseguono 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 queste situazioni, potresti visualizzare un errore nella finestra Dispositivi in esecuzione, nonché log simili a quelli riportati di seguito.

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 svolgere i passaggi che seguono per risolvere il problema:

Risolvere i problemi con l'Assistente connessione

L'assistente per la 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 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 scorrere le pagine in base alle tue esigenze:

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

Risolvere i problemi di connessione USB

Se l'assistente alla connessione non rileva il dispositivo tramite USB, prova la seguente procedura 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, segui questi passaggi:

  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 ultimi strumenti della piattaforma SDK 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 descritti in questa sezione.

Se hai un altro cavo USB:

  1. Collega il dispositivo utilizzando il cavo secondario.
  2. Controlla se l'assistente alla connessione ora riesce a rilevare il dispositivo.
  3. Se il dispositivo non viene rilevato, prova di nuovo con il cavo principale.
  4. Se il dispositivo non viene ancora rilevato, supponi che il problema riguardi 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, supponi che il problema riguardi il dispositivo principale e verifica se il dispositivo è configurato per lo sviluppo.

    Se il dispositivo secondario non viene rilevato, il problema potrebbe essere relativo al 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 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 problemi a connetterti al dispositivo in modalità wireless, puoi provare i seguenti 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:

Verificare la presenza di altri problemi noti

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

  • Il Wi-Fi non si connette: alcune reti Wi-Fi, come quelle 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 su 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 al computer un dispositivo con Android 4.2.2 (livello API 17) o versioni successive, 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 tu non riesca a sbloccare il dispositivo e confermare la finestra di dialogo.