Eseguire app su un dispositivo hardware

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

Configurare un dispositivo per lo sviluppo

Per poter iniziare a eseguire il debug sul tuo dispositivo, devi prima decidere 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 e quindi attiva Debug USB (se applicabile).

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

    • ChromeOS: non sono necessarie ulteriori configurazioni.
    • macOS: non è richiesta alcuna configurazione aggiuntiva.
    • Windows: installa un driver USB per ADB (se applicabile). Per un Guida all'installazione e link ai driver OEM; consulta l'articolo su come installare un dispositivo USB OEM driver.
    • Ubuntu Linux: configura quanto segue:

      • Ogni utente che vuole utilizzare ADB deve essere nel 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 esegui di nuovo l'accesso, puoi utilizzare id per verifica di essere nel 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 udev regole 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

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 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 della tua 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 fisicamente la connessione del dispositivo tramite USB e la presenza di 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 in ogni rete.
  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 workstation, esegui l'aggiornamento all'ultima versione 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 Esegui configurazioni
    Figura 1. Configurazioni di esecuzione menu.

    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 l'accoppiamento usando un codice QR o un 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 il debug wireless
      delle impostazioni di sistema.
    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 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. Un file a sei cifre del codice sorgente. Quando il dispositivo viene visualizzato nella Nella finestra Accoppia dispositivi tramite Wi-Fi, inserisci le sei cifre mostrato sul dispositivo e seleziona Accoppia .
      Screenshot di un esempio di codice di accoppiamento
      Figura 4. Esempio di formato a sei cifre inserimento del codice di accoppiamento.
  5. Dopo l'accoppiamento, puoi tentare di implementare l'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 workstation in Dispositivi accoppiati.
  3. Seleziona Dimentica.

Mirroring del 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 usano lo stesso IDE di Studio per eseguire azioni comuni come l'avvio di app e interagire con loro, 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 mirroring utilizzando la finestra Dispositivi in esecuzione o la Gestione dispositivi (Visualizza > Finestre strumenti > Gestione dispositivi). Puoi anche specificare quando il dispositivo il mirroring sia attivato nelle impostazioni. (Impostazioni > Strumenti > Mirroring dispositivo).

UI Dispositivi in esecuzione

Reindirizzare l'audio

Quando utilizzi il mirroring del dispositivo, puoi reindirizzare l'audio dai dispositivi connessi dispositivi fisici agli altoparlanti del computer o alle cuffie. 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 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 in alto.

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, 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 collegati 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 di 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 relativi alle connessioni dei dispositivi.

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

  • Collega il dispositivo tramite USB: per prima cosa viene richiesto dall'Assistente di connessione. di collegare il dispositivo tramite USB e fornisce un dispositivo USB per la nuova scansione pulsante da cui puoi avviare una nuova ricerca dei dispositivi connessi.
  • Attiva il debug USB: l'Assistente di connessione ti dirà quindi come Attiva 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. Il riavvio del server ADB causa anche ADB per cercare di nuovo i dispositivi. Se ancora non trovi il tuo dispositivo nell'elenco dei dispositivi disponibili, prova i passaggi per la risoluzione dei problemi descritti nella sezione seguente.

Risolvere i problemi di connessione USB

Se l'Assistente connessione non rileva il tuo dispositivo tramite USB, prova procedi nel seguente modo per risolvere il problema:

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. Se non lo fai già, crea una nuova durata di visualizzazione media. ne hai 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 la procedura descritta 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 è 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, procedi nel seguente modo: 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:

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 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.
  • A volte l'ADB tramite Wi-Fi si disattiva automaticamente. Ciò può verificarsi se la 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.