Non accade spesso di ricevere email da Google, in genere quando succede non sono buone notizie (spider non accedono al sito, modifiche terms&conditions a la Orwell etc), ed anche oggi non si sono smentiti con la presente missiva :
This is a notification that your it.simonerescio.spell, is built on a version of Apache Cordova that contains security vulnerabilities. This includes a high severity cross-application scripting (XAS) vulnerability. Under certain circumstances, vulnerable apps could be remotely exploited to steal sensitive information, such as user login credentials.
You should upgrade to Apache Cordova 3.5.1 or higher as soon as possible. For more information about the vulnerabilities, and for guidance on upgrading Apache Cordova, please see http://cordova.apache.org/announcements/2014/08/04/android-351.html.
Please note, applications with vulnerabilities that expose users to risk of compromise may be considered “dangerous products” and subject to removal from Google Play.
Regards,
Google Play Team
©2014 Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043Email preferences: You have received this mandatory email service announcement to update you about important issues relating to your Google Play account.
Niente panico, si tratta solo di aggiornare una libreria, andiamo con ordine, con StackOverflow alla mano.
I comandi principali da eseguire in console sono rispettivamente :
1 |
sudo npm update -g phonegap |
che aggiorna la versione di phonegap utilizzata in fase di build del progetto, ma non basta devono anche essere aggiornate le librerie phonegap presenti nel progetto di ciascuna applicazione in modo che il file cordova.js venga portato alla versione 3.5.1 contenente la fix di sicurezza per Android.
Per cui dopo aver navigato nella cartella del progetto relativa all’applicazione interessata si deve eseguire il comando :
1 |
phonegap platform update android |
Se hai seguito scrupolosamente la guida per l’installazione via riga di comanda di PhoneGap andrà tutto a buon fine, altrimenti ti imbatterai in una serie di errori causati da software mancanti, di seguito gli step che ho seguito per risolverli.
Apache ant mancante
Il primo errore che ho incontrato è la mancanza del software ant per eseguire build da terminale :
1 |
Error: ERROR : executing command 'ant', make sure you have ant installed and added to your path. |
per installarlo è necessario eseguire un comando usando la libreria HomeBrew, di cui ero sprovvisto, per cui procedo installando prima brew e poi ant :
1 2 3 |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install ant |
Variabile di ambiente Android mancante
Cercando di nuovo di eseguire il comando di aggiornamento, se non è stata correttamente impostata la variabile di ambiente che punta alla propria copia dell’AndroidSDK, si otterrà il seguente errore :
1 |
Error: The command "android" failed. Make sure you have the latest Android SDK installed, and the "android" command (inside the tools/ folder) is added to your path. |
per risolverlo è sufficiente eseguire le istruzioni della guida ufficiale, creando un file di profilo bash che includa la nostra variabile ogni volta che il terminale viene avviato, per cui si può eseguire i seguenti comandi :
1 |
touch ~/.bash_profile; open ~/.bash_profile |
Si aprirà una finestra dell’applicazione TextEditor con il file appena creato, al suo interno bisogna mettere il percorso alle cartelle platform-tools e tools dell’AndroidSDK, come nel seguente esempio, da modificare in base alla reale posizione della propria installazione :
1 |
export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools |
Ora basta salvare le modifiche ed eseguire il seguente comando per applicarle :
1 |
source ~/.bash_profile |
Notare bene che la seguente fix prevede appunto l’uso della shell bash, se stai usando una shell alternativa come zsh l’errore continuerà a persistere, puoi tornare temporaneamente alla shell bash digitando bash nel terminale e premendo invio, quando avrai finito per tornare alla shell zsh digita exit, il cambio di shell non comporta un cambio di directory, puoi controllare eseguendo il comando pwd.
Se tutto è andato come deve aprendo il file che si trova al seguente percorso :
1 |
yourProjectDir/platforms/android/platform_www/cordova.js |
Dovrà esserci il seguente valore :
1 |
var CORDOVA_JS_BUILD_LABEL = '3.5.1'; |
Aggiornamento 16/04/2015
I valori da inserire nel file .bash_profile di cui sopra indicati nella guida ufficiale non risultano più validi per la versione 4.x di Phonegap, per cui i nuovi valori necessari per portare a buon fine l’aggiornamento, citando stackoverflow, sono i seguenti :
1 2 |
export ANDROID_HOME=/<installation location>/android-sdk-macosx export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools |
Spell versione 1.0.1
A valle di questi aggiornamenti ho provveduto a caricare sul PlayStore il nuovo APK, aggiungendo anche una piccola fix per la lettera “Q” che aveva la stessa descrizione testuale in entrambi i casi maiuscolo e minuscolo in Italiano, “Quadro”/”quadro”, ora il caso maiuscolo è distinto con un nome di luogo ovvero “Québec”.
Se non hai ancora aggiornato puoi seguire il seguente link :
Scarica Spell gratuitamente da