Android su Windows e sugli altri sistemi operativi con AndroVM

Ne avevamo parlato poco più di un anno fa dopo che Bluestacks, in occasione del CES 2012, mastodontica manifestazione statunitense (organizzata a Las Vegas) incentrata sull'elettronica di consumo, aveva vinto un importante riconoscimento.

Ne avevamo parlato poco più di un anno fa dopo che Bluestacks, in occasione del CES 2012, mastodontica manifestazione statunitense (organizzata a Las Vegas) incentrata sull’elettronica di consumo, aveva vinto un importante riconoscimento. L’applicazione si è così ben messa in evidenza da guadagnarsi l'”Innovators award” al CES 2012, premio conferito ai progetti particolarmente promettenti.
“Come sarebbe se Windows 8 arrivasse con una dote di 400.000 applicazioni?“, avevano scritto in un video promozionale presentato a Las Vegas gli sviluppatori di Bluestacks. A che cosa si riferiscono gli ideatori di Bluestacks se, com’è noto, il Windows Store di Microsoft mette per il momento a disposizione degli utenti di Windows 8 “solo” qualche migliaio di applicazioni?
Bluestacks si propone come una piattaforma capace di eseguire le applicazioni Android (che nel frattempo hanno superato la soglia delle 750.000 unità) in ambiente Windows e Mac OS X (ne avevamo parlato nell’articolo Bluestacks porta le applicazioni Android su Windows 8).

Oggi Bluestacks, seppur giunta ad un buon livello di maturazione, impone alcune limitazioni. Tra queste, come viene spiegato in questa pagina, l’installazione dell’applicazione è caldamente sconsigliata sui sistemi ove sia già presente un software per la virtualizzazione come Virtualbox, Vmware Player o Workstation, Virtual PC, Microsoft XP Mode e così via.
L’unica versione di Bluestacks in uno stadio più avanzato, inoltre, è quella destinata, appunto, ai sistemi Windows 8. Sono invece indicate come “beta release” le versioni compatibili con Windows XP, Windows Vista, Windows 7 e Mac OS X (vedere questa pagina).

Bluestacks non è un programma che segue lo stile delle applicazioni Windows Store per Windows 8 ma, piuttosto, è un normale software che può essere installato ed eseguito dalla tradizionale interfaccia desktop. In sostanza, Bluestacks può essere pensato come un software che virtualizza buona parte del sistema operativo Android (le sue fondamenta e quanto legato all’installazione delle applicazioni). La versione su quale attualmente si basa Bluestacks è la 2.3.4, altrimenti nota con l’appellativo di “Gingerbread” (risale al mese di febbraio 2011).

Se si volesse virtualizzare Android (tutto il sistema operativo) ed orientarsi su una versione più recente?
La risposta arriva da Android-x86, sito web sul quale, periodicamente, vengono pubblicate immagini ISO aggiornate delle più recenti versioni del sistema operativo Google. Perché “x86”? Perché Android, di per sé, è una piattaforma pensata per funzionare principalmente sui dispositivi basati sull’architettura ARM. Un mondo quindi totalmente diverso da quello su cui per anni hanno proliferato le varie famiglie di microprocessori inizialmente sviluppati e prodotti da Intel (“x86”).
Android-x86 è un porting di Android appositamente approntato per funzionare sull’architettura x86. Gli autori del progetto pubblicano a cadenza abbastanza regolare, immagini ISO che consentono l’installazione di Android su vari sistemi x86 (alcuni esempi sono in questa pagina). Tali immagini vengono generate a partire dal codice sorgente di Android, una volta che questo viene rilasciato da parte di Google.

Come fare per eseguire Android-x86 in una macchina virtuale Virtualbox? Le immagini al momento pubblicate sul sito del progetto sono sì utilizzabili: alcune di esse come quella destinata agli EeePC di Asus sono relativamente facili da installare in un ambiente virtuale come può essere quello offerto da Virtualbox ma non permettono di accedere con altrettanta semplicità a tutte le funzionalità di Android (vedere il riquadro sottostante).

Nel caso dell’immagine ISO Android-x86 EeePC (android-x86-4.0-RC2-eeepc.iso), ad esempio, l’installazione del sistema operativo va a buon fine in una macchina virtuale Virtualbox ma la connessione Internet non risulta immediatamente fruibile. In realtà, l’interfaccia eth0 funziona ma non utilizza alcun server DNS, così nessun nome a dominio viene automaticamente risolto.
Per superare il problema, basterà digitare, dalla finestra del terminale, il comando setprop net.dns1 8.8.8.8. Il browser di Android, così, riuscirà a connettersi a qualunque sito web. Insormontabile, però, sembra la problematica legata all’utilizzo di Google Play e di un account Google. L’immagine EeePC, infatti, si aspetta di usare la connessione wireless che, per ovvi motivi, risulta indisponibile. Nessun tentativo è valso per “forzare” la connessione Wi-Fi ad usare l’interfaccia Ethernet eth0.
L’unica soluzione, come osservato sui forum di supporto di Android-x86 consisterebbe nell’impiego della “Ethernet patch“, una correzione che permette di attivare lo scambio di dati attraverso la connessione Ethernet. Dal momento che tale passaggio richiederebbe la ricompilazione del sorgente di Android, perché non affidarsi al progetto AndroVM?

Android su Virtualbox con AndroVM

AndroVM è un progetto che va tenuto d’occhio nei prossimi mesi perché già ora si è mostrato estremamente promettente. Per portare Android su Windows, insieme con tutte le sue funzionalità e le sue applicazioni (in realtà è possibile seguire gli stessi passaggi, ad esempio, sui sistemi Linux e Mac OS X…), AndroVM offre un’immagine Virtualbox già pronta per essere avviata all’interno di una macchina virtuale. Utilizzando AndroVM e Virtualbox si potrà eseguire una copia di Android 4.1.1 senza mai abbandonare l’ambiente di lavoro (quindi senza riavviare Windows e senza modificare la configurazione del disco fisso).

Prima di procedere, suggeriamo di verificare che sul proprio sistema sia installato VirtualBox 4.1.24. Al momento, sconsigliamo di utilizzare la versione 4.2.x de software per la virtualizzazione di Oracle per via di alcuni problemi di performance che potrebbero presentarsi.

Requisiti:
VirtualBox 4.1.24 downlod (versione per Windows; x86/AMD64)
AndroVM download (versione vbox86tp version with gapps & houdini: androVM_vbox86tp_4.1.1_r4-20121119-gapps-houdini-flash.ova; verificare sempre su androvm.org la disponibilità di versioni più aggiornate)
AndroVMplayer download (Windows 32 bit); download (Windows 64 bit)). Si tratta di un’applicazione che consente di attivare il supporto per le librerie OpenGL lato hardware. Sono disponibili, sul sito di AndroVM, anche le versioni per Linux e Mac OS X.

Il file d’immagine di AndroVM viene distribuito come file .OVA. L’Open Virtualization Format (OVF) è uno standard aperto per la distribuzione di immagini destinate alle macchine virtuali. Il file OVA non è altro che un file compresso (formato TAR) contenente, a sua volta, un archivio OVF. Oracle Virtualbox è pienamente compatibile con il formato OVF/OVA.

Al momento della stesura del presente articolo, AndroVM poggia su Android 4.1.1 “Jelly Bean”, una delle versioni più recenti del sistema operativo Google, molto più aggiornata, quindi, rispetto a quella proposta da Bluestacks.

La versione AndroVM vbox86tp, inoltre, contiene il suffisso “tp”. Ciò sta a segnalare che l’immagine scaricata è una build che si comporta come se venisse eseguita su di un tablet ma che contiene anche funzionalità telefoniche (alcune applicazioni Google Play non si installano sulle versioni del sistema operativo destinate ai soli tablet). La risoluzione di default è pari a 1024×768 pixel ma, come vedremo più avanti, può essere liberamente personalizzata.

Importare l’immagine di AndroVM in Virtualbox

Il primo passo da compiere consiste nell’avviare Virtualbox 4.1.24 e nello scegliere, dal menù File, il comando Importa applicazione virtuale.

Alla comparsa della finestra Benvenuti nella procedura di importazione applicazioni virtuali, si dovrà fare clic sul pulsante Scegli quindi selezionare il file androVM_vbox86tp_4.1.1_r4-20121119-gapps-houdini-flash.ova scaricato in precedenza.

Virtualbox fornirà una serie di dati riepilogativi sulle caratteristiche della macchina virtuale. Si dovrà semplicemente proseguire premendo il pulsante Importa.

Al termine della fase di importazione dell’archivio, bisognerà cliccare col tasto destro del mouse sull’immagine appena aggiunta a VirtualBox quindi scegliere Impostazioni.

Come primo intervento, suggeriamo di sostituire quanto indicato nel campo Nome con, ad esempio, AndroVM.
Nella cartella Sistema suggeriamo di spuntare Abilita IO APIC mentre, nella sezione Schermo, di impostare 128 MB di memoria per la scheda video virtuale attivando contestualmente la casella Abilita accelerazione 3D:

Particolare attenzione va riposta sulla configurazione della sezione Rete. Qui si troveranno abilitate due schede di rete virtuali (Scheda 1 e Scheda 2). Non è un errore che la prima sia impostata su Non connesso perché trattasi di una scheda utilizzata per scopi gestionali, come vedremo più avanti. La Scheda 2, invece, dev’essere impostata su Scheda con bridge.

In questo modo, la macchina virtuale Android entrerà a far parte della rete locale così come se fosse un normale dispositivo fisico connesso alla medesima LAN.

Il primo avvio di Android in versione virtualizzata

Dopo aver fatto clic sul pulsante OK, si potrà avviare la macchina virtuale Android, da Virtualbox, cliccando su Avvia. Il boot di Android 4.1.1 avverrà immediatamente:

Android chiederà dapprima di selezionare la lingua preferita quindi di specificare un account Google. Per il momento è preferibile fare clic su No.

Alla comparsa della schermata Scegli Google, non perdere mai più i tuoi dati“, si potrà fare clic su Non adesso. Una volta che si sarà risposto alle domande successive, apparirà la schermata principale del sistema operativo:

Si può immediatamente notare che la connessione Internet è attiva e funzionante. Essa viene indicata come Wi-Fi; in realtà, ovviamente, Android si sta appoggiando all’interfaccia Ethernet (“Scheda 2” di Virtualbox).

Accedendo alle impostazioni di Android, si dovrà selezionare Lingua e immissione in modo tale da modificare il layout della tastiera.

In corrispondenza della voce Tastiera fisica, bisognerà cliccare su AT Translated set 2 keyboard, su Configura layout tastiera quindi su Italian.
Premendo più volte il tasto ESC sulla tastiera, si potrà tornare alla lista delle applicazioni installate.

Cliccando su Play Store, si potrà impostare l’account Google da utilizzare per l’installazione dei programmi nella macchina virtuale Android e per la gestione di tutti i vari servizi online.

Se si disponesse di un account Google (suggeriamo di non usare account che si impiegano per scopi “produttivi”) si potrà indicarne le corrispondenti credenziali d’accesso oppure, in alternativa, crearne uno nuovo.

Uscendo dal Play Store, si dovrà cliccare su androVM Configurator:

Qui è bene spuntare la casella Hardware OpenGL:

Prima di cliccare sul pulsante Save, suggeriamo di estrarre tutto il contenuto dell’archivio compresso di AndroVMplayer in una cartella di propria scelta, sul disco fisso.

Per spostare il puntatore del mouse all’esterno della finestra della macchina virtuale AndroVM, è sufficiente premere una volta il tasto CTRL di destra sulla tastiera.

Attivazione del supporto OpenGL. Installazione delle applicazioni Android

Si dovrà quindi fare doppio clic sul file AndroVMplayer.exe:

In Windows Vista ed in Windows 7, dovrebbe apparire il seguente avviso del firewall di sistema:

AndroVMplayer necessita di colloquiare con la macchina virtuale Android attraverso la “Scheda 1” di Virtualbox. Poiché in Windows l’interfaccia “VirtualBox Host-Only Network” (ossia la scheda virtuale che mette in comunicazione la macchina virtuale con il solo sistema “host”) è indicata come “rete pubblica”, si dovranno spuntare sia la casella Reti private che Reti pubbliche quindi fare clic su Consenti accesso.

Si apriranno due finestre a sfondo completamente nero. In una viene mostrato il messaggio “You shall know the AndroVM Virtual Machine configured for OpenGL Hardware support – waiting for connection from VM…“.

Tornando nella macchina virtuale AndroVM si potrà a questo punto fare clic sul pulsante Save rispondendo affermativamente alla domanda Do you want to reboot?.

Servendosi nuovamente del pulsante CTRL di destra, si dovrà fare clic sul menù Dispositivi di Virtualbox quindi su Schede di rete. Qui nella “Scheda 1” si dovrà inserire Scheda solo host al posto di Non connesso:

Dopo aver fatto clic su OK per confermare la modifica, si dovrà riavviare la macchina virtuale Android selezionando il comando Reset dal menù Macchina di Virtualbox.

Nella macchina virtuale, dopo alcuni secondi, si dovrebbe leggere l’indicazione IP Management: 192.168.56.101 mentre la schermata di benvenuto di Android dovrebbe apparire nell’altra finestra (AndroVM Player):

Sbloccando la macchina virtuale Android così come se fosse un normale smartphone o tablet, si potrà scaricare ed avviare qualunque tipo di applicazione da Google Play.

Grazie al supporto OpenGL, anche i giochi Android non dovrebbero presentare problemi in fase di esecuzione e di utilizzo. Ecco, ad esempio, il celeberrimo Angry Birds funzionare in Windows grazie ad AndroVM e Virtualbox:

Ecco come si presenta Google Play sulla macchina virtuale:

Anche Google Maps propone tutte le funzionalità tipicamente disponibili sui dispositivi mobili del robottino verde:

Trascurando qualche problema “di gioventù”, AndroVM si rivela un eccellente strumento per provare applicazioni Android su qualunque sistema operativo, Windows compreso. Grazie alla virtualizzazione, è possibile evitare di alterare la configurazione del disco fisso e modificare le impostazioni del sistema operativo “host”.

Ti consigliamo anche

Link copiato negli appunti