Come funzionano le applicazioni Android sul nuovo Chrome OS?
Le "applicazioni Android" su Chromebook sono applicazioni chrome che contengono sia una copia dell'APK che qualche markup che dice al runtime Android su Chrome (ARC) come dovrebbe essere eseguito. Non vengono eseguite come Java Virtual Machine. Invece, usano il nuovo (e fino a poco tempo fa, sperimentale) runtime Android (ART) sviluppato da Google. È lo stesso runtime usato dalle versioni più recenti di Android su un telefono o tablet.
Il runtime stesso è un'applicazione nascosta di chrome che è scritta in c non compilata e viene eseguita JIT (Just In Time) usando il client nativo. Native Client è un'opzione di runtime gestito che è stato in giro per circa 4+ anni per gli sviluppatori di chrome. Native Client è una sandbox per eseguire codice C e C++ compilato nel browser in modo efficiente e sicuro, indipendente dal sistema operativo dell'utente. Questa è fondamentalmente la versione non compilata del codice sul vostro telefono che esegue il sistema operativo. Teoricamente, può funzionare su qualsiasi piattaforma senza (molti) cambiamenti nel codice sorgente.
Per poter eseguire un'app Android, lo sviluppatore deve impacchettare la propria app all'interno di una normale app di Chrome con entrambi i markup di Chrome e un manifest speciale per ARC. Il manifesto ARC fa parte dello stesso file del manifesto dell'app chrome e include, tra le altre cose, un elenco di quali permessi sono necessari, l'orientamento, la dimensione della finestra, quali servizi Google sono necessari e i Google ID. Lo sviluppatore dell'app deve controllare quali permessi sono necessari e chiederli. Se vogliono funzioni extra oltre alla finestra dell'app (come la possibilità di aprire un'app dal file manager), devono aggiungere degli ascoltatori di eventi usando il codice di chrome che fa riferimento al codice android.
Quando finalmente si esegue un'"app Android" in chrome, il runtime viene incorporato nella finestra dell'app, e poi il runtime visualizza l'app.
(fonte: Welcome to Native Client)
Articoli simili
- Perché alcuni siti web non funzionano correttamente nel browser Edge ma funzionano bene in Google Chrome?
- Perché alcuni caricabatterie per iPhone non funzionano sul mio telefono quando funzionano su quello di qualcun altro?
- Se compro un nuovo telefono Android (Motorola), come posso trasferire tutte le mie applicazioni in un nuovo telefono?
- Come impedire alle applicazioni Android come Facebook di comunicare con altre applicazioni sul tuo telefono Android