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:
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).
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:
Fig. 2 - Android - Aprire l'SDK Manager dalla linea di comando
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.
Fig. 3 - Android - Aprire l'AVD Manager dall'SDK Manager
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):
Fig. 4 - Android - AVD di prova per un progetto con cordovaemulator.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
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):
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).
Fig. 6 - Progetto cordova eseguito sull'emulatore di Android
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
Scrivi un Commento