giovedì 1 dicembre 2011

Sviluppo PyMaemo da virtual machine

In questo post e nei prossimi vedremo, diversi modi che ho trovato per connettersi e sviluppare in PyMaemo:

Il primo è tramite un apposita Virtual machine con ambiente pre-installato.

Per poter sviluppare applicazioni dal PC, anche senza disporre dell'N900, come prima cosa bisogna installare l'emulatore che si trova nel Maemo SDK nella "Scratchbox".

La Scratchbox mette a disposizione una sandbox
per la compilazione su due target diversi:
X86 - utilizzato per lo sviluppo in locale
Armel - per compilare i pacchetti per il dispositivo

Una volta io provai ad installarla su un PC in cui avevo installato Ubuntu, dopo 2 giorni circa di vari casini sono riuscito a fare partire il tutto. Fortunatamente però in seguito, ho scoperto che qualcuno è stato così gentile da creare un immagine di Ubuntu con già installato l'emulatore e l'ambiente di sviluppo Eclipse con tutto il necessario per lo sviluppo e il debug di PyMaemo. Questa immagine è in formato .vmdk, creata per VMWare o Sun VirtualBox.

Vediamo allora i passi da seguire:
  1. Scaricare un gestore di virtual machines tipo VMWare http://www.vmware.com/ o Sun VirtualBox http://www.virtualbox.org/
  2. scaricare l'immagine virtuale da http://maemovmware.garage.maemo.org/2nd_edition/ P.S.: è meglio scaricarla dal browser firefox (io da InternetExplorer non ci sono proprio riuscito)
  3. usare 7 zip http://www.7-zip.org/ per unire i files scaricati
  4. Creare una nuova virtual machine Linux Ubuntu e come disco scegliere il file scaricato .vmdk.
A questo punto avviamo la virtual machine e installiamo "Guest Additions" (programma che da la possibilità di regolare la risoluzione del sistema guest quando la finestra della macchina virtuale viene ridimensionata, inoltre passa il mouse dal sistema guest e quello della macchina virtuale in automatico) dal link che troveremo sul desktop.

Adesso possiamo avviare l'ambiente di sviluppo cliccando sul icona, "ESbox" e cominciare a sviluppare creando un nuovo progetto di tipo Python.