MICHELEPISANI.IT
 

Effettua il debug della tua app come fai con i siti web

Debug di applicazioni Cordova/Phonegap con Chrome

Debug di applicazioni Cordova Phonegap con Chrome
Dicembre 03
07:312015

Come è possibile monitorare il comportmento delle applicazioni web sul proprio dispositivo, è possibile effettuare il debug in tempo reale anche delle applicazioni mobili basate su Apache Cordova (HTML5, CSS, Javascript).
Con l'articolo in questione spiegherò come questo possa essere fattibile con Google Chrome e sistemi Android.
Nel caso si fosse interessati al debug di applicazioni ibride per piattaforme iOS potete fare riferimento all'articolo "DEBUG DI APPLICAZIONI CORDOVA/PHONEGAP PER IOS CON SAFARI".

I vantaggi dell'utilizzo di tale sistema sono l'abbattimento delle differenze a livello visivo percepite eseguendo la propria app direttamente sul browser desktop ma soprattutto il controllo a runtime del Javascript utilizzato.

I requisiti necessari per poter adottare questa funzionalità sono:
- Cordova 3.3.0 o superiore
- Android 4.4.0 o superiore
- Chrome 30+
- Cavo USB per collegare il device al computer
- Avere attivata l'opzione "Debug USB" sul proprio dispositivo

Per attivare l'opzione "Debug USB" è necessario navigare nelle impostazioni del proprio dispositivo per rendere visibile preventivamente un'impostazione nascosta di default chiamata "Opzioni Sviluppatore", Fig. 1:

Android - opzioni sviluppatore
Fig. 1 - Android - opzioni sviluppatore

Per rendere visibile tale impostazione si dovrà cliccare almeno 7 volte sulla voce "Build number" o "Versione build" (evito di riportare il percorso per raggiungere tale opzioni perchè può lievemente variare da dispositivo a dispositivo e non credo che uno sviluppatore possa trovare difficoltà nel trovarla, in tutti i casi è localizzata all'interno della sezione Info sul dispositivo presente nelle Impostazioni).

Non resta quindi che accedere a questa nuova sezione e al suo interno spuntare la voce "Debug USB" (in questo modo la modalità di Debug si avvia quando è collegato un dispositivo USB).

Da questo momento è possibile effettuare il debug delle nostre applicazioni ibride create con Cordova attraverso Chrome.
Sarà necessario accedere all'inspect di Chrome che si trova espandendo le Opzioni del browser, dopodichè dalla voce "Altri Strumenti" cliccare su "Strumenti per sviluppatori", dalla finestra che si aprirà espandere l'icona con i tre pallini in verticale (Customize and control DevTools) e cliccare su "Inspect devices...". Più semplicemente è possibile accedervi scrivendo "chrome://inspect/#devices" nella barra degli indirizzi.

Si aprirà una nuova tab del browser, Fig. 2, dove è essenziale che ci sia il segno di spunta all'unica casella di testo visibile in questo momento chiamata "Discover USB devices":

DevTools - Chrome inspect devices
Fig. 2 - DevTools - Chrome inspect devices

Collegando il dispositivo al computer tramite il cavo USB è probabile che venga richiesto, se non già confermato precedentemente, di consentire il debug USB tramite il computer in uso. Inutile dire che è necessario farlo per poter procedere con l'utilizzo della funzionalità.
A meno che non ci siano situazioni particolari, come ad esempio restrizioni della rete, le impostazioni di Port forwarding possono essere lasciate come quelle di default (porta 8080 con indirizzo localhost:8080).
Una volta collegato il dispositvo la situazione dovrebbe essere simile alla seguente, Fig. 3:

DevTools - Chrome inspect - dispositivo connesso con USB
Fig. 3 - DevTools - Chrome inspect - dispositivo connesso con USB

Nel caso non dovesse succedere niente, ovvero permane la scritta "No devices detected. Please read the remote debugging documentation to verify your device is enabled for USB debugging.", è necessario verificare che, come indicato dalle specifiche su developers.google.com:

- i driver USB del proprio dispositivo siano installati correttamente (su Windows);
- il dispositivo è connesso direttamente all'USB del computer senza passare da un hub;
- l'opzione "Debug USB" sia abilitata tramite la procedura precedentemente descritta;
- la spunta su "Discover USB devices" nella pagina di "chrome://inspect/#devices" sia presente;
- i requisiti elencati a inizio articolo siano soddisfatti.

Se il problema persiste è possibile provare a revocare le autorizzazioni USB di debugging dalle "Opzioni sviluppatore" sul proprio dispositivo cliccando sull'opzione "Revoca autorizzazioni debug USB". E ripetere i passaggi di configurazione.

In alternativa, basandomi sulla mia esperienza, ho riscontrato che è possibile "risvegliare" il collegamento tra il dispositivo ed il computer (collegati con USB) facendo partire la prima volta l'esecuzione dell'applicazione dalla linea di comando (CLI) con il comando: cordova run android

Lanciando quindi l'app dal proprio dispositivo (o dalla CLI) compariranno i relativi dettagli, Fig. 4:

DevTools - Chrome inspect - app in esecuzione
Fig. 4 - DevTools - Chrome inspect - app in esecuzione

Cliccando su "inspect" si aprirà finalmente il debug così come siamo abituati ad utilizzarlo dal browser desktop per monitorare le applicazioni web, Fig. 5, con la possibilità di visualizzare e modificare il DOM, CSS e Javascript, verificare errori ed eventi in Console, controllare l'esito ed i parametri inviati per le chiamate esterne e così via:

DevTools - Chrome inspect - console per gli sviluppatori
Fig. 5 - DevTools - Chrome inspect - console per gli sviluppatori

Non c'è ombra di dubbio dell'oggettivo vantaggio di poter apportare modifiche in tempo reale senza dover obbligatoriamente, per ogni minima variazione, compilare l'app ed eseguirla sul dispositivo o sull'emulatore.

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

Grazie Paolo,
spero possa tornarti utile per i tuoi scopi.

Paolo

salve,mi interessa il progetto sensore gas ,per applicazioni in agricoltura.Vedremo gli …

Michele Pisani

Ciao Rossana,
strano problema, una domanda: continui a visualizzare entrambe le pagine o una …

Rossana

Ciao Michele, il mio problema è che Facebook non mi risponde. Mi è successo tre volte: faccio …