Durante la realizzazione di un'app ibrida sia con Ionic che in generale con Apache Cordova può capitare di avvalersi dell'utilizzo di progetti terzi quali quelli presenti su GitHub ad esempio per la gestione delle mappe così come per altri scopi che possono richiedere l'uso di librerie già pronte e testate per velocizzare i lavori.
Quello che può succedere, una volta installato il pacchetto di interesse, è che eseguendo normalmente la nostra app viene restituita un'eccezione in fase di compilazione simile alla seguente:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':mergeDebugAssets'.
> java.lang.NullPointerException (no error message)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 9.52 secs
D:ionicmiaappplatformsandroidcordova
ode_modulesqq.js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "D:ionicmiaappplatformsandroidgradlew cdvBuildDebug -b D:ionicmiaappplatformsandroiduild.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true"
ERROR running one or more of the platforms: Error: cmd: Command failed with exit code 1
You may not have the required environment or OS to run this project
Dalle ultime righe si evince che la causa dell'errore è la seguente "You may not have the required environment or OS to run this project" ovvero che l'ambiente di sviluppo o la piattaforma (nel caso specifico Android ma poteva essere anche iOS o altro...) non è stato configurato correttamente per il progetto in corso.
Ma come è possibile se fino a prima dell'ultima operazione tutto funzionava correttamente?
Molto probabilmente il progetto o la libreria installata da GitHub (o chi per lui) ha un percorso diverso impostato per l'SDK, nel caso in esame, di Android generando l'errore di cui sopra quando si tenta di compilarlo.
E' possibile risolvere andando a modificare tali path ma più semplicemente, ed è il caso di come ho risolto io, basta rimuovere e aggiungere nuovamente la piattaforma Android con i seguenti comandi:
ionic platform remove android
ionic platform add android
Compilando ora l'applicazione il problema non dovrebbe più presentarsi.
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
Scrivi un Commento