MICHELEPISANI.IT
 

Informazioni e dettagli sugli AVD

Creare e configurare un emulatore per Android

Creare e configurare un emulatore per Android
July 02
07:302014

Un emulatore per Android, detto anche AVD (Android Virtual Device), è uno strumento che fa parte del pacchetto SDK e che può tornare molto utile durante le fasi di sviluppo delle nostre applicazioni non solo per evitare di effettuare i test, soprattutto nelle fasi embrionali dello sviluppo, direttamente sul dispositivo fisico ma anche per poter verificare l'aspetto grafico del nostro lavoro su dispositivi con diverse risoluzioni, dagli svariati smartphone ai tablet.

Ho già spiegato velocemente come creare un AVD nel mio articolo riferito all'errore "An error occurred while emulating/deploying the android project", ripercorrerò tuttavia i passi principali per arrivare alla creazione di un emulatore Android soffermandomi sulla spiegazione dei campi richiesti per ottimizzare la creazione del dispositivo virtuale a seconda delle proprie esigenze.

Se utilizziamo Eclipse è possibile aprire il gestore degli AVD dalla barra dei menù ed in particolare da:

Window > Android Virtual Device (AVD) Manager

In alternativa dalla linea di comando digitando semplicemente android (supponendo che l'SDK sia stato installato a dovere), come in Fig. 1, si aprirà l'Android SDK Manager:

Android - Aprire l'SDK Manager dalla linea di comando

Fig. 1 - Android - Aprire l'SDK Manager dalla linea di comando



Dopodichè dalla finestra che si aprirà dovrà essere cliccata la voce del menù "Tools" e successivamente "Manage AVDs...", Fig. 2:

Android - Aprire l'AVD Manager dall'SDK Manager

Fig. 2 - Android - Aprire l'AVD Manager dall'SDK Manager


Si aprirà così, allo stesso modo come da Eclipse, la finestra per la gestione degli AVD, Fig. 3:

Android Virtual Device (AVD) Manager

Fig. 3 - Android Virtual Device (AVD) Manager


Nell'immagine di cui sopra è già presente un emulatore con le impostazioni utili per poter eseguire un'applicazione ibrida creata con Cordova ma a tutti gli effetti un'app Android.
Potete creare quanti emulatori volete tramite il bottone "Create..."; gli altri bottoni sono autoesplicativi: Start... per lanciare l'emulatore, Edit... per modificare i dettagli dell'emulatore selezionato, ecc...
Vediamo nel dettaglio come configurare un emulatore Android ed in particolare cosa significano i parametri richiesti. Per semplicità mostro le impostazioni di quello che ho già salvato dove ci sono già le opzioni selezionate, Fig .4:

Parametri di un Android Virtual Device (AVD)

Fig. 4 - Parametri di esempio di un Android Virtual Device (AVD)


AVD Name: non è altro che il nome con il quale vogliamo contrassegnare il nostro emulatore, servirà per identificarlo e distinguerlo da altri AVD che abbiamo creato. Può essere buona norma assegnare come nome  ad esempio il tipo di dispositivo (tablet, Galaxy S mini, Galaxy S5, ecc...) o la sua risoluzione (320x480, 1024x600, ecc...). Può essere composto da caratteri alfanumerici con lettere maiuscole e minuscole, il punto, il trattino e l'underscore (non può contenere spazi o altri simboli).
Device: Il tipo di dispositivo con tanto di dimensione in pollici e risoluzione. La lista di questi elementi viene prelevata dalla sezione accessibile tramite il tab "Device Definition" dove è possibile creare altre tipologie di dispositivi per poi emularle. In tutti i casi quelli già presenti di default sono più che sufficienti per l'emulazione della maggior parte dei dispositivi più comuni.
Target: E' il livello di minimo di API dipendente dalla versione di Android del dispositivo. Un valore basso di target può garantire la disponibilità dell'app ad essere installata su un numero maggiore di dispositivi ma è anche probabile che siano state utilizzate delle funzionalità nell'applicazione sviluppata che non ne permettono il corretto funzionamento su dispositivi più obsoleti o non aggiornati.
CPU/ABI: Indica il tipo di CPU che dovrà supportare l'emulatore. Nella maggior parte dei casi, dipende dalle versioni del dispositivo, c'è una scelta obbligata che è anche la più comune ed utilizzata ovvero ARM (armeabi) o ARM (armeabi-v7a) ma ci possono essere anche altre possibilità di scelta come Intel Atom (x86) o MIPS (mips).
Keyboard: Se spuntato mostra nell'emulatore il tastierino fisico. Consiglio di lasciare il segno di spunta per una più facile gestione del dispositivo in caso sia di inserimento dati ma anche per tornare alla home o per il tasto back, ecc...
Skin: Parametro non troppo vincolante, serve per dare una parvenza personalizzata al dispositivo, solitamente lascio l'impostazione a "No Skin".
Front Camera: Presenza o meno della fotocamera frontale (è possibile emularla o catturare immagini direttamente dalla webcam collegata al PC). Il campo potrebbe non essere selezionabile, dipende se sul tipo di dispositivo scelto è supportata.
Back Camera: Presenza o meno della fotocamera sul lato posteriore del dispositivo (è possibile emularla o catturare immagini direttamente dalla webcam collegata al PC). Il campo potrebbe non essere selezionabile, dipende se sul tipo di dispositivo scelto è supportata.
Memory Options: Sono le caratteristiche della memoria e dipendono dal tipo di dispositivo scelto pertanto consiglio di lasciare sia per la RAM che per VM Heap, che è una memoria dinamica allocata messa a disposizione per far girare le applicazioni, quelle fornite di default.
Internal Storage: E' la dimensione della memoria interna del dispositivo.
SD Card: E' la memoria esterna, la famosa schedina di memoria da inserire nell'apposito alloggio. Ricordo che 1 GiB corrisponde a 1024 MiB.
Emulation Options: Altre opzioni dell'emulatore quali, Snapshot e Use Host GPU, descritte di seguito (queste due opzioni non possono essere utilizzate simultaneamente).
Snapshot: La sua funzione è quella di accelerare l'avvio dell'emulatore salvando un'istantanea della sua RAM dopo che è stato avviato e il ripristinandola negli usi successivi, evitando di dover eseguire il lento processo di avvio ogni volta che si lancia l'emulatore.
Use Host GPU: Questa opzione serve per sfruttare l'implementazione OpenGL del computer all'interno del sistema emulato, ovvero se un'app utilizza OpenGL per operazioni grafiche il lavoro viene effettuato dal GPU del PC e poi 'inviato' all'emulatore evitando invece di emulare una GPU direttamente dall'AVD, garantendo così un notevole risparmio di tempo, considerato anche che nelle versioni di Android superiori o uguali alla 4 la maggior parte delle view e canvas per il disegno utilizzano OpenGL anche in app non prettamente grafiche.
Override the existing AVD with the same name: Semplicemente è attivato ce si inserisce un AVD Name uguale ad un AVD già salvato e se spuntato sovrascrive l'AVD precedente al momento del salvataggio.

Cliccando infine sul bottone "OK" l'AVD verrà creato, la schermata della configurazione sparirà ed il nuovo emulatore sarà presente nella lista pronto per essere utilizzato.

Nel caso in cui il bottone "OK" non dovesse essere cliccabile significa che l'inserimento dei parametri di configurazione è parziale o scorretto, i messaggi di errore compaiono in basso a sinistra nella finestra di configurazione e sono contrassegnati con una X rossa o con il simbolo di pericolo (triangolo giallo con punto esclamativo). Non mi soffermo sugli errori dato che sono comprensibili e di facile risoluzione e compaiono quando alcune impostazioni non sono state scelte o il nome dell'AVD non è stato inserito o alcuni valori sono al di sotto o eccedono da quelli utilizzabili.

Tags

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Il Canale YouTube in ITALIANO

1 VIDEO GRATIS ogni 2 settimane! ISCRIVITI!

Entra a far parte della community su Facebook

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Hai verificato se succede per tutte le pagine da un certo periodo di tempo in poi o solo su alcune?

Tecnowiz

Sono amministratore di un blog pure io... Intanto ti faccio i complimenti per questo articolo. …

Michele Pisani

Ciao Antonio, grazie per la fiducia :) In caso di più fogli è necessario inserire il codice del …

Antonio

Ciao Michele, ho acquistato il tuo libro che unitamente ai tuoi video sta diventando il mio corso …