sabato 22 giugno 2013

Alternativa al lento emulatore Android: Macchina virtuale

Chiunque si sia avvicinato per la prima volta alla programmazione Android, avrà notato che l'emulatore originale fornito con l'sdk è estremamente lento ad avviarsi e poco reattivo!
Ecco dunque una validissima alternativa all'esecuzione dell'emulatore android.

Occorre precisare che oltre al solito Eclipse, per creare applicazioni android si possono usare altri IDE/framework, o addirittura altri linguaggi (che verranno comunque trasformati nel linguaggio nativo, Java).
Ad esempio, l'ottimo basic4android vi permetterà di scrivere in un linguaggio molto vicino al Visual Basic.

Prepariamo il necessario
Si presuppone che si abbia già installato e configurato Javae e l'SDK Android.
Se ciò non fosse, vi invito a seguire le ottime guide in rete che vi guideranno passo passo, a partire dal download :)

  1. Una prima cosa che ci occorre è il programma che ci permetterà di creare la macchina virtuale. Utilizzeremo VirtualBox, scaricabile da qui: https://www.virtualbox.org/wiki/Downloads  (Scegliete la versione appropriata a voi)
  2. Ci servirà il file immagine del nostro sistema operativo android. Esiste infatti una versione Android eseguibile su VirtualBox, quindi su pc, ed è scaricabile qui: http://androvm.org/blog/download/  (Scegliete uno dei file di machina virtuale .ova)    (Io ho scaricato androVM_vbox86t_4.1.1_r6.1-20130222.ova
  3. 5 minuti, basteranno ;)

Configuriamo VirtualBox
Dopo aver scaricato ed installato VirtualBox, ed il file .ova visto prima, procediamo a fare doppio click su quest'ultimo. Dovrebbe aprirsi VirtualBox (se ciò non fosse, apritelo manualmente e selezionate dal menu file "Importa applicazione virtuale"), e vi apparirà una schermata simile a questa:



Dal momento che è già preparata per funzionare con caratteristiche molto simili ai device android, non c'è bisogno di modificare i parametri. Ovviamente se preferite, o non so, utilizzate un pc datato, o avete poca RAM, o altro, modificate le impostazioni, ma senza esagerare coi valori (troppo alti o troppo bassi).
Una volta cliccato su "Importa" verrà creata una nuova macchina virtuale con nome uguale al file .ova, oppure quello che avete scelto nel campo "Nome" precedentemente.
Occorre configurare inoltre la rete, quindi, dopo aver selezionato la macchina virtuale, e cliccato su Impostazioni, nella scheda "Rete", cambiare:

  • Scheda 1 -> Connesso a -> Scheda solo host
  • Scheda 2 -> Connesso a -> Scheda con bridge
Per quanto riguarda il campo Nome di ogni scheda, dovrebbe esserci una sola voce, in ogni caso, i miei valori per la Scheda 1 sono "Virtualbox Host-Only Ethernet Adapter", per la scheda 2, il modello della mia scheda di rete

Configuriamo Android
Si tratta di una semplice azione da fare:
Attivate il debug usb, da Settings -> Developer Options -> USB Debugging  
Ora non si tratta di configurazione, bensì, dobbiamo semplicemente risalire all'indirizzo IP della macchina virtuale, quindi del sistema Android in esecuzione.
Questa versione, fatta apposta, ci mette a disposizione il comodo tool "AndroWM Configuration", quindi eseguendolo dovremmo avere una schermata simile:



Script ADB
Prima di poter raggiungere la nostra macchina virtuale da Eclipse, o qualunque altro IDE, abbiamo bisogno di connettere adb all'indirizzo ip di Android.
L'indirizzo ip da mettere non è altro che l'indirizzo IP preso nel precedente passaggio :)
Per facilitare il tutto, senza dover ogni volta riscrivere i comandi nel prompt, ecco un semplice script, da salvare in .bat e che una volta eseguito, vi chiederà (nel prompt) l'indirizzo IP della macchina Android.
Dovete solo cambiare il percorso dove risiede adb.exe, che nel mio caso è "C:\Users\Davide\Documents\eclipse\adt-bundle-windows-x86-20130219\sdk\platform-tools"


cd PERCORSO
set /p ip=Indirizzo ip della macchina android: 
adb connect %ip%
@pause
exit


Lo script va eseguito ogni qualvolta che si chiude la macchina virtuale, si riavvia il pc, o comunque per qualsiasi ragione adb non sia connesso alla macchina virtuale.

Godetevi la programmazione.

Nessun commento:

Posta un commento