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).
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.
Al riavvio del computer, verrà visualizzato un messaggio che ti informa che potrebbero essere presenti applicazioni non scaricate dall'app store sul dispositivo.
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:
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.
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.
Installa l'app dal terminale:
adb install [path to your APK]
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
-
Assicurati di aver attivato il debug ADB.
Per ottenere l'indirizzo IP del tuo Chromebook:
-
Fai clic sull'orologio nell'angolo in basso a destra dello schermo.
-
Fai clic sull'icona a forma di ingranaggio.
-
Fai clic sul tipo di rete a cui è connesso il tuo dispositivo (Wi-Fi o dati mobili), quindi sul nome della rete.
-
Prendi nota dell'indirizzo IP.
Connettiti a Chromebook:
-
Torna alla macchina di sviluppo e utilizza ADB per connetterti a Chromebook utilizzando il suo indirizzo IP:
adb connect
-
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:
- Disattiva Debug ADB in Opzioni sviluppatore.
- In una finestra del terminale, esegui
adb kill-server. - Riattiva l'opzione Debug ADB.
- In una finestra del terminale, prova a eseguire
adb connect. - 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.
- Assicurati di aver attivato il debug ADB.
- Determina se il tuo dispositivo supporta il debug USB
- Premi
control+alt+tper avviare il terminale ChromeOS. - Digita
shellper accedere alla shell dei comandi bash:crosh> shell chronos@localhost / $
- Digita i seguenti comandi per configurare il dispositivo:
$ sudo crossystem dev_enable_udc=1 $ sudo reboot
- 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 .
- Collega un cavo USB a una porta supportata del dispositivo.
- Esegui
adb devicesdagli strumenti della piattaforma SDK Android sulla macchina host per visualizzare Chromebook elencato come dispositivo supportato da ADB - Su Chromebook, fai clic su Consenti quando ti viene chiesto se vuoi consentire il debugger. La sessione ADB è stata stabilita.