MICHELEPISANI.IT

Cordova - Errori frequenti e soluzioni

Errore durante il lancio dell'emulatore Android di un progetto cordova

An error occurred while emulating/deploying the android project

Luglio 02
07:312014

L'errore "An error occurred while emulating/deploying the android project" viene restituito indubbiamente quando si tenta di lanciare l'applicazione tramite l'emulatore per Android su Windows.
La Fig. 1 illustra graficamente l'errore quando viene dato in risposta dalla linea di comando:

Apache cordova - An error occurred while emulating/deploying the android project

Fig. 1 - Apache cordova - An error occurred while emulating/deploying the android project

 

Soluzione:
Per ottemperare a questo problema è necessario creare un emulatore (AVD), lanciarlo, dopodichè eseguire il nostro progetto cordova.
Per creare un emulatore bisogna in primo luogo aprire l'SDK Manager Tools (che puo essere semplicemente fatto da riga di comando digitando android da qualsiasi posizione, eccetto direttamente da "C:\", come illustrato in Fig. 2).

Android - Aprire l'SDK Manager dalla linea di comando

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


Si aprirà così la finestra degli strumenti di gestione dell'SDK dalla quale dovrà essere cliccata la voce del menù "Tools" e successivamente "Manage AVDs...", Fig. 3:

Android - Aprire l'AVD Manager dall'SDK Manager

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


A questo punto si aprirà la gestione degli AVD (Android Virtual Device), ovvero degli emulatori, se non ne sono stati creati in precedenza o se le caratteristiche di quelli presenti non corrispondono alle nostre esigenze sarà necessario crearne uno ex-novo tramite l'apposito bottone "Create...", non mi dilungo nelle impostazioni degli emulatori che non è oggetto di questo articolo, l'unica cosa su cui mi soffermo brevemente è la versione della piattaforma sulla quale dovrà girare la nostra applicazione onde evitare grattacapi senza uscita. Le applicazioni per Android create con cordova 3.3.x, e probabilmente anche con altre versioni, richiedono un livello di API minimo che non è presente su tutte le versioni dei dispositivi, nel caso specifico è il livello 10 che gira su dispositivi con SO Android uguale o maggiore alla versione 2.3.3 (potete trovare la corrispondenza tra il livello delle API e la versione della piattaforma android sul sito ufficiale degli sviluppatori alla voce "What is API Level?"). Non a caso come si vede dalla Fig. 4 non ho prestato molta attenzione alle caratteristiche dell'AVD (che a scopo di test ho chiamato "cordova_test_emulator") ma mi sono assicurato di selezionare la versione minima richiesta della piattaforma, 2.3.3, per poter garantire il funzionamento della mia app di prova sul dispositivo Android.

Android - AVD di prova per un progetto con cordova

Fig. 4 - Android - AVD di prova per un progetto con cordova


E' arrivato il momento di eseguire l'emulatore dalla linea di comando con la seguente istruzione (il nome dell'emulatore "cordova_test_emulator" dovrà ovviamente essere sostituito con il vostro AVD Name):

emulator.exe -avd cordova_test_emulator


Attendere il tempo necessario affinchè l'emulatore sia stato completamente caricato (possono trascorrere da diversi secondi ad alcuni minuti), dopodichè lanciare il comando seguente per emulare il nostro progetto cordova, come mostrato anche in Fig. 5:

cordova emulate android


Android - Avvio dell'emulatore AVD per eseguire un progetto cordova

Fig. 5 - Avvio dell'emulatore AVD per eseguirvi successivamente un progetto cordova



E magicamente il nostro progetto verrà eseguito sull'AVD, Fig. 6 (in questo caso il progetto è semplicemente quello di default, ovvero il logo di Apache Cordova con un testo evidenziato in verde che indica che il device è pronto per eseguire eventuali successive operazioni):

Android - Progetto cordova eseguito sull'emulatore di Android

Fig. 6 - Progetto cordova eseguito sull'emulatore di Android


Attenzione: Nel caso in cui la CLI dovesse comportarsi esattamente come mostrato in Fig. 5, ovvero se dovesse rispondere "Platform android deployed to emulator" ma sull'emulatore la nostra app non dovesse caricarsi, significa che con buona probabilità le impostazioni dell'emulatore sono sbagliate ed in particolare, come già precedentemente anticipato, la versione minima della piattaforma (che ricordo essere per cordova 3.3.x la 2.3.3).

 

Tags
Condividi

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

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

Ciao alessandro,
questa regex dovrebbe fare al caso tuo:

alessandro

ciao sto cercando una regex per numeri interi o decimali, positivi o negativi; la tua regex mi pare …

Michele Pisani

Ciao Nicola,
ti riferisci per caso alla situazione di gianluigi?
In tutti i casi la via …

Nicola

Ciao Michele, mi trovo nella medesima situazione in cui si trovava Gianluca un anno fa. Sei poi …