In questi giorni si è susseguito in rete il tamtam (ad esempio: link1, link2, link3…) relativo al rilascio di una immagine dell’emulatore di Android basata sulla prossima release Cupcake.
Tra le novità più interessanti dell’imminente nuova release ci sono dei miglioramenti al motore grafico (le finestre hanno transizioni pressoché identiche a quelle dell’iPhone, i pulsanti hanno un effetto lucido molto gradevole), i live folder, la presenza della tastiera software, la localizzazione italiana (e non soo, ovviamente!) e altre che ora mi sfuggono. 🙂
La procedura di configurazione della nuova build descritta sui vari siti prevede il recupero del file
http://nullwire.com/sites/default/files/android_images_sdk1.5.zip
il cui contenuto (ramdisk.img, system.img e userdata.img) va a sovrascrivere gli omonimi file della cartella tools/lib dell’SDK di Android.
Sovrascrivere, però, pone un problema: non si ha più a disposizione la configurazione di sistema dell’SDK ufficiale, di fatto ancora indispensabile per chi sviluppa software da distribuire sull’Android Market (per assicurarsi la compatibilità con la stable version corrente del sistema operativo). La preview della release Cupcake, infatti, non è ancora matura e finché non sarà rilasciata in versione definitiva con relativo SDK è da considerarsi utile sono per sperimentazione.
L’ideale sarebbe poter disporre di due immagini dell’emulatore, una con i file della distribuzione ufficiale (1.0 r2) e una (o più) con le release di sviluppo (attualmente a 1.5).
Predisporre un ambiente con emulatori multipli è piuttosto semplice, occorre infatti:
- Scaricare il file contenente le immagini dell’emulatore ed estrarne il contenuto in una directory temporanea
- Copiare la cartella tools/lib/images dentro una nuova cartella allo stesso livello (ad esempio, tools/lib/cupcake_images)
- Sovrascrivere i file ramdisk.img, system.img e userdata.img della nuova cartella con quelli estratti dal file zip scaricato al punto 1
A questo punto, per avviare l’emulatore utilizzando una build diversa da quella di default è sufficiente aggiungere l’opzione system di esecuzione nel pannello configurazioni del progetto Android su Eclipse, specificando la directory da cui leggere i file immagine di sistema (nel mio caso, l’SDK è installato su Mac OS X nella directory /Users/gerdavax/tools/android-sdk-mac_x86-1.0_r2):
-system /ROOT_ANDROID_SDK/tools/lib/cupcake_images
L’emulatore ora partirà con i nuovi file immagine. Passando da una versione all’altra del sistema operativo può capitare che l’emulatore non parta più (alcune nuove impostazioni sono incompatibili con la versione precedente), per cui può rendersi necessaria la cancellazione dei dati utente (memorizzati nel file .android/SDK-1.0/userdata-qemu.img).
Per ora è sufficiente per sperimentare la nuova build, in attesa di avere il nuovo SDK ufficiale…