Android: se non hai il telefono usa l’emulatore!

android sdk-1

In questi giorni sto valutando di comprare un cellulare basato su Linux. Inizialmente avevo pensato al Nokia N900, ma poi mi son convinto che, forse, è meglio puntare su di un cellulare equipaggiato con Android di Google.

Diverse persone mi hanno sconsigliato di prendere l’N900 perché basato su di un sistema (Maemo 5) poco diffuso (di fatto gira solo sul quel dispositivo); invece Android si sta diffondendo su diverse piattaforme hardware: Motorola, HTC e Samsung solo per dirne alcune…

Ma prima di passare all’acquisto di un dispositivo hardware volevo verificare cosa si poteva fare in pratica con Android; questo è possibile grazie all’SDK (Software Development Kit) che mette a disposizione di chiunque un vero e proprio simulatore di un generico telefonino con a bordo Android. Un programma/applicazione installata sul simulatore girerà esattamente come su di un dispositivo vero permettendoci quindi di fare tutte le prove che vogliamo fare!

Vediamo allora come si installa.

Innanzi tutto occorre andare sul sito per sviluppatori di Android e scaricarsi il pacchetto base dell’SDK. Io ho scaricato il file:

$ cd /opt
$ wget http://dl.google.com/android/android-sdk_r06-linux_86.tgz

Poi ho esploso il tutto ed ho lanciato il programma di gestione dell’SDK:

$ tar xfz android-sdk_r06-linux_86.tgz
$ cd android-sdk-linux_86/
$ ls
SDK Readme.txt  add-ons  platforms  tools
$ tools/android update sdk

ottenendo due finestre come riportato sotto.

android sdk-1

android sdk-2

A questo punto non vi resta che aggiornare il sistema installando i componenti che vi interessano ed attendere che i pacchetti vengano scaricati ed installati (ci vorra un po’).

Una volta finito, sul mio sistema (Ubuntu 10.04) ho dovuto installare anche i seguenti pacchetti extra:

$ sudo aptitude install ant openjdk-6-jdk

poi ho impostato la varibile PATH in modo da non dover scrivere ogni volta i comandi con il path completo:

$ export PATH=/opt/android-sdk-linux_86/tools/:$PATH

Ok, a questo punto siamo pronti! Prima di tutto occorre creare un Android Virtual Device (ADV), cioè il nostro telefonino virtuale. Per fare questo possiamo usare il tool grafico di prima (menu «Virtual Devices»), oppure usare direttamente la command line. In questo secondo caso dal prompt date il seguente comando per avere la lista dei dispositivi emulabili (rimando al sito di Android i lettori più curiosi sul significato dei vari parametri):

$ android list targets
Available Android targets:
id: 1 or “android-2”
Name: Android 1.1
Type: Platform
API level: 2
Revision: 1
Skins: QVGA-P, QVGA-L, HVGA-L, HVGA (default), HVGA-P
id: 2 or “android-3”
Name: Android 1.5
Type: Platform
API level: 3
Revision: 4
Skins: QVGA-P, QVGA-L, HVGA-L, HVGA (default), HVGA-P
id: 3 or “android-4”
Name: Android 1.6
Type: Platform
API level: 4
Revision: 3
Skins: WVGA800, WVGA854, QVGA, HVGA (default)
id: 4 or “android-5”
Name: Android 2.0
Type: Platform
API level: 5
Revision: 1
Skins: WVGA800, WQVGA432, WVGA854, WQVGA400, QVGA, HVGA (default)
id: 5 or “android-6”
Name: Android 2.0.1
Type: Platform
API level: 6
Revision: 1
Skins: WVGA800, WQVGA432, WVGA854, WQVGA400, QVGA, HVGA (default)
id: 6 or “android-7”
Name: Android 2.1-update1
Type: Platform
API level: 7
Revision: 2
Skins: WVGA800, WQVGA432, WVGA854, WQVGA400, QVGA, HVGA (default)
id: 7 or “android-8”
Name: Android 2.2
Type: Platform
API level: 8
Revision: 2
Skins: WVGA800, WQVGA432, WVGA854, WQVGA400, QVGA, HVGA (default)

Poi creiamo un nuovo ADV bastato su uno di questi dispositivi (io scelgo il 6 perché basato su Android 2.1, lo stesso che si trova su di un telefonino che vorrei comprare):

$ android create avd -n my_phone -t 6
Android 2.1-update1 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Created AVD ‘my_phone’ based on Android 2.1-update1,
with the following hardware config:
hw.lcd.density=160

Come si vede ho scelto la configurazione di default rispondendo no alla domanda «Do you wish to create a custom hardware profile». Verifichiamo allora che il nuovo telefonino (ADV) sia stato creato correttamente:

$ android list avd
Available Android Virtual Devices:
Name: my_phone
Path: /home/giometti/.android/avd/my_phone.avd
Target: Android 2.1-update1 (API level 7)
Skin: HVGA

Perfetto! Siamo pronti per lanciare l’emulatore ed avere il nostro nuovo, fiammante (e virtuale), telefonino Android!

$ emulator -avd my_phone

Ecco, dopo alcuni istanti, quello che si ottiene!

android screenshot

A questo punto, con il mouse, possiamo iniziare a «fare un giro di prova» all’interno del nostro nuovo telefonino.

Ma vediamo qualcosa di più interessante, vediamo come poter installare una nuova applicazione. Creo allora una directory dove memorizzare i pacchetti apk (il formato standard di Android) dei programmi che voglio installare nel mio sistema:

$ mkdir packages

Poi prendo un pacchetto dal sito http://www.androidfreeware.org, io ho preso il gioco bubbles e ho salvato il file apk nella directory packages creata prima. A questo punto, per installare il programma, uso il comando:

$ adb install packages/1273450399_bubbles.apk
1944 KB/s (751356 bytes in 0.377s)
pkg: /data/local/tmp/1273450399_bubbles.apk
Success

Bingo! Il programma è stato installato, come si vede dalla figura con il cerchietto rosso.

android applications

Quindi facciamo clic con il mouse per lanciarlo ed iniziare a giocare!

android bubbles

{loadposition donate}

Su Rodolfo Giometti

Ingegnere informatico libero professionista ed esperto GNU/Linux offre supporto per: - device drivers; - sistemi embedded; - sviluppo applicazioni industriali per controllo automatico e monitoraggio remoto; - corsi di formazione dedicati. Manutentore del progetto LinuxPPS (il sottosistema Pulse Per Second di Linux) contribuisce attivamente allo sviluppo del kernel Linux con diverse patch riguardanti varie applicazioni del kernel e dispositivi (switch, fisici di rete, RTC, USB, I2C, network, ecc.). Nei 15+ anni di esperienza su Linux ha lavorato con le piattaforme x86, ARM, MIPS & PowerPC.

Lascia un commento

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi