Vi presentiamo oggi GenyMotion, un emulatore per Android con molte feature interessanti e dalle performance ottime.[divider] Un buon emulatore è essenziale per una buona programmazione android, data la frammentazione di dispositivi e versioni che affligge il sistema operativo di Google. Presentato al Droidcon di Torino, GenyMotion si è subito fatto apprezzare fra gli sviluppatori per la sua facilità di utilizzo, per le sue performance eccezionali e, perchè no, anche per la simpatia e disponibilità del team di sviluppo. Ma qual’è il “segreto” delle performance di questo prodotto? “Mentre l’emulatore di default di Android sfrutta per il suo funzionamento il QEMU, GenyMotion utilizza la VirtualBox di Oracle” spiegano gli sviluppatori. Questa accortezza garantisce quindi una velocità superiore. Ma i pregi non finiscono qui: fra le altre feature di GenyMotion una molto apprezzata è la gestione dei sensori virtuali all’interno dell’emulazione. Potremo infatti usare input fisici provenienti da un dispositivo reale e renderli disponibili al device emulato, il tutto in tempo reale! Facendo un esempio potremo utilizzare l’accelerometro del nostro dispositivo reale e vedere la risposta all’input nell’emulatore, ma anche provare il multitouch, ecc… [divider]
Come Installare GenyMotion
Dopo la registrazione sul sito ufficiale, potremo scegliere fra diverse versioni. Quelle a pagamento hanno feature aggiuntive, come la sopraccitata funzionalità di Remote Control Widget, cioè quella che ci permette di acquisire dati dai dispositivi reali e usarli su quelli virtuali. Noi vi consigliamo, almeno all’inizio, la versione “Free”, gratuita e senza limiti di tempo. Vi consigliamo inoltre di scaricare il bundle completo con inclusa la Virtual Box. Fra le varie release del software vi segnaliamo anche il plugin per Eclipse, per avere l’emulatore direttamente integrato nell’IDE. Il setup risulta estremamente facile da seguire, al termine del quale avrete installato non solo l’emulatore ma anche la Virtual Box di Oracle (se avete scaricato la release col bundle, naturalmente). Finita l’installazione, verrà eseguito il programma automaticamente, e un messaggio vi chiederà di aggiungere alcuni device virtuali. Il team di sviluppo rende infatti disponibile la virtualizzazione di molti device in commercio, con uno o più livelli di API. Una volta scelto uno o più dispositivi, scarichiamo l’immagine di sistema e facciamo partire l’emulazione con “play”. Ad esempio noi abbiamo scelto il “Galaxy S4”, e il risultato è questo: Ci rendiamo conto sin da subito del gap prestazionale offerto da questa soluzione rispetto alla soluzione standard Android, infatti il tempo di caricamento del sistema è molto ridotto, al contrario di quello dell’emulatore rilasciato da Google (specialmente senza HAXM). Per testare una qualunque applicazione niente di più semplice: basterà prendere il vostro file .apk e fare drag&drop sulla finestra dell’emulatore. Pochissimi attimi di attesa e partirà l’esecuzione!
[divider]
Funzionalità Avanzate
Tramite la barra a destra nella finestra di emulazione possiamo compiere diverse azioni:
- Batteria: Possiamo settare come scenario di virtualizzazione una precisa configurazione della batteria, per testare il funzionamento della nostra applicazione durante la ricarica o in condizioni di scarsa autonomia.
- Gps: Possiamo impostare con precisione un punto nella mappa o le coordinate geografiche per testare la nostra applicazione in una particolare posizione geografica, quale ad esempio la nostra abitazione o il luogo di lavoro (pensiamo ad esempio a quel tipo di applicazioni che abilitano/disabilitano il silenzioso o la connessione wifi a seconda del luogo in cui si trovano, automaticamente)
- Camera: Con questo widget possiamo emulare la fotocamera del dispositivo, utilizzando una webcam o una “dummy camera”, cioè una riproduzione fittizia a soli scopi di test.
- Screencast (non disponibile nella versione Free): Permette di effettuare screenshot ma anche video dimostrazioni dell’applicazione.
- Remote Control (non disponibile nella versione Free): Una delle feature più interessanti, permette di ricevere input da un device fisico collegato tramite ADB. Ricordatevi di chiudere tutti i programmi che utilizzano L’Android Debug Bridge (ad esempio Eclipse) altrimenti il dispositivo non verrà riconosciuto. Molto interessante la preview direttamente nello schermo del device fisico, da migliorare (presenta ancora qualche rallentamento) ma funzionalità davvero unica e interessante.
- ID (non disponibile nella versione Free): Permette di impostare un Android ID oppure un IMEI fittizio per il device emulato.
- 1:1 Screen Ratio: Rende un pixel emulato un pixel reale sullo schermo del PC. Funzionalità molto utile per valutare effettivamente la resa grafica delle immagini, ed evitare così immagini “stretchate“.
- RotateScreen: Ruota istantaneamente lo schermo, passando quindi dalla modalità “portrait” a quella “landscape” in un click.