ADB e test delle app per Android

La possibilità di eseguire app per Android su un Chromebook è fantastica, in quanto offre agli utenti l'accesso alle vaste offerte dell'ecosistema Android e agli sviluppatori Android l'opportunità di raggiungere gli utenti di ChromeOS.

Gli sviluppatori devono assicurarsi di verificare le proprie app su diversi fattori di forma, in quanto ciò contribuirà a migliorare l'esperienza degli utenti. Per questo motivo, ChromeOS fornisce agli sviluppatori Android gli strumenti per implementare e testare le loro app sui Chromebook.

Che gli sviluppatori eseguano il deployment della propria app Android direttamente da ChromeOS (utilizzando Android Studio su Chromebook) o da un altro dispositivo, possono utilizzare ADB per eseguire il deployment delle proprie app e il debug di diverse interazioni con i Chromebook. Per ulteriori dettagli, consulta i passaggi riportati di seguito.

Attiva debug ADB

In precedenza, l'utilizzo di ADB su Chromebook era possibile solo in modalità sviluppatore, che richiede il Powerwash (ripristino) del dispositivo e può ridurre la sicurezza. Fortunatamente, a partire da Chrome 81, gli sviluppatori possono evitare di attivare la modalità sviluppatore sui propri dispositivi e continuare a distribuire le app che sviluppano direttamente in ChromeOS, con un semplice interruttore. Procedi nel seguente modo:

Innanzitutto, assicurati che Chromebook non sia in modalità sviluppatore. Poi vai alle impostazioni e attiva Linux (se non l'hai ancora fatto).

Attivare Linux

Una volta disponibile Linux, apri le impostazioni di Linux e troverai una nuova opzione "Sviluppo di app Android". Apri questa opzione.

Attiva/disattiva l'opzione Attiva debug ADB e il computer verrà riavviato.

Attiva debug ADB

Al riavvio del computer, verrà visualizzato un messaggio che ti informa che potrebbero essere presenti applicazioni non scaricate dall'app store sul dispositivo.

Questo dispositivo potrebbe contenere app che non sono state verificate da Google

ADB è ora disponibile per eseguire il deployment delle app su Chromebook, eseguire comandi di debug e interagire direttamente con il dispositivo.

Per assicurarti che la tua app per Android funzioni correttamente su una vasta gamma di Chromebook e fattori di forma disponibili, Google consiglia di testarla sui seguenti dispositivi:

  • Un Chromebook basato su ARM
  • Un Chromebook basato su x86
  • Un dispositivo con touchscreen e uno senza
  • Un dispositivo convertibile, ovvero un dispositivo che può trasformarsi da laptop a tablet e viceversa
  • Un dispositivo con uno stilo

Eseguire il deployment da ChromeOS

Dopo aver attivato il debug ADB, puoi caricare un'app Android direttamente sul tuo dispositivo ChromeOS utilizzando Android Studio o, se hai un APK, puoi caricarlo utilizzando il terminale.

Esegui il deployment con Android Studio

Dopo aver configurato Android Studio e ADB come descritto sopra, puoi trasferire le tue app al contenitore Android di Chromebook direttamente da Android Studio.

Chromebook verrà visualizzato come opzione nel menu a discesa del dispositivo:

Menu a discesa dei dispositivi di Android Studio

Ora puoi eseguire il push dell'app come faresti con qualsiasi altro dispositivo Android. La finestra di dialogo di autorizzazione ADB viene visualizzata la prima volta che tenti di eseguire il push su un nuovo dispositivo. Dopo l'autorizzazione, l'applicazione si aprirà in una nuova finestra.

Connettiti al dispositivo tramite ADB in Android Studio

Ecco fatto. Ora puoi eseguire il deployment dell'app su Chromebook, testarla ed eseguirne il debug senza la seccatura di dover attivare la modalità sviluppatore.

Esegui il deployment con Terminale

Installa ADB, se necessario:

sudo apt install adb

Connettiti al dispositivo:

adb connect arc

La prima volta che provi a eseguire il deployment sul dispositivo, viene visualizzato un popup di autorizzazione per il debug USB e dovrai consentirlo.

Autorizzazione per la connessione al dispositivo

Installa l'app dal terminale:

adb install [path to your APK]

Installa l'app dal terminale

Eseguire il deployment da un altro dispositivo

Se non riesci a utilizzare il metodo descritto sopra e devi eseguire il push dell'app da un altro dispositivo, puoi connettere il dispositivo ad ADB utilizzando USB o un indirizzo di rete.

Connettersi ad ADB tramite una rete

  1. Assicurati di aver attivato il debug ADB.

Per ottenere l'indirizzo IP del tuo Chromebook:

  1. Fai clic sull'orologio nell'angolo in basso a destra dello schermo.

  2. Fai clic sull'icona a forma di ingranaggio.

  3. Fai clic sul tipo di rete a cui è connesso il tuo dispositivo (Wi-Fi o dati mobili), quindi sul nome della rete.

  4. Prendi nota dell'indirizzo IP.

Connettiti a Chromebook:

  1. Torna alla macchina di sviluppo e utilizza ADB per connetterti a Chromebook utilizzando il suo indirizzo IP:

    adb connect 
  2. Su Chromebook, fai clic su Consenti quando ti viene chiesto se vuoi consentire il debugger. La sessione ADB è stata stabilita.

Risoluzione dei problemi di debug ADB su una rete

A volte il dispositivo ADB risulta offline anche se tutto è connesso correttamente. In questo caso, completa i seguenti passaggi per risolvere il problema:

  1. Disattiva Debug ADB in Opzioni sviluppatore.
  2. In una finestra del terminale, esegui adb kill-server.
  3. Riattiva l'opzione Debug ADB.
  4. In una finestra del terminale, prova a eseguire adb connect.
  5. Fai clic su Consenti quando ti viene chiesto se vuoi consentire il debug. La sessione ADB è stata stabilita.

Connettersi ad ADB tramite USB

Per trasferire il tuo APK da un altro dispositivo al Chromebook tramite USB, devi avviare ChromeOS in modalità sviluppatore in modo da poter configurare il Chromebook e trasferire le app dalla macchina host. Questo è l'unico metodo che al momento richiede la modalità sviluppatore e funziona solo su un numero ridotto di dispositivi. Per questo motivo, è consigliabile utilizzare ADB sulla rete. Se vuoi comunque procedere, segui questi passaggi per attivare la modalità sviluppatore.

  1. Assicurati di aver attivato il debug ADB.
  2. Determina se il tuo dispositivo supporta il debug USB
  3. Premi control+alt+t per avviare il terminale ChromeOS.
  4. Digita shell per accedere alla shell dei comandi bash:
    crosh> shell
    chronos@localhost / $
  5. Digita i seguenti comandi per configurare il dispositivo:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. Dopo il riavvio, apri di nuovo il terminale ed esegui questo comando per attivare ADB sulla porta USB del Chromebook:
    $ sudo ectool usbpd  dr_swap

Usa questo comando ogni volta che scolleghi e ricolleghi un cavo USB. Per assicurarti che Chromebook sia in modalità UFP, puoi eseguire ectool usbpd .

  1. Collega un cavo USB a una porta supportata del dispositivo.
  2. Esegui adb devices dagli strumenti della piattaforma SDK Android sulla macchina host per visualizzare Chromebook elencato come dispositivo supportato da ADB
  3. Su Chromebook, fai clic su Consenti quando ti viene chiesto se vuoi consentire il debugger. La sessione ADB è stata stabilita.