Questo articolo descrive alcuni strumenti di grande aiuto per lavorare con Gaia
Nota: Puoi trovare alcuni suggerimenti e trucchi molto utili per il debug di Firefox OS alla pagina B2G QA Tips and tricks.
Strumenti di backup/restore/flash
Strumenti di backup per il tuo profilo, ecc.
b2g_util
Il pacchetto b2g_util tools fornisce alcuni strumenti utili nel debugging di Firefox OS. Può:
- Controllare la versione di b2g installata
- Fornire il link al crash report
- Resettare il dispositivo
- Abilitare/disabilitare i certificati delle App per WebIDE
- Backup/restore del tuo profilo (non ancora completo, per ora è disponibile un workaround)
Per installarlo hai bisogno di Python 2.7, pip, e setuptools. Quindi puoi eseguire:
sudo pip install -U b2g_util
Dopo aver completato l'installazione, puoi connetterti al tuo dispositivo e testarlo utilizzando, ad esempio, il seguente comando per ottenere la versione di b2g:
b2g_check_versions
pc-sync-tool
pc-sync-tool è una app disponibile nel Marketplace di Firefox che permette di fare il backup dei tuoi dati/profilo. Deve essere utilizzato congiuntamente all'add-on per desktop Firefox OS assistant.
Backup e restore del profilo
Per gestire backup e restore dei dati puoi utilizzare lo script backup_restore_profile.py
, disponibile all'interno del repository GIT B2G-flash-tool.
- Clona il repository (
git clone https://github.com/Mozilla-TWQA/B2G-flash-tool
.) - Assicurati che il telefono sia connesso via USB al computer, e che ADB (vedi Important steps to follow first) e l'opzione di Debugging via USB (presente nei settaggi del tuo dispositivo Developer settings) siano abilitati.
- Spostati all'interno della cartella clonata
Per fare backup dei dati:
python backup_restore_profile.py -b
Questo comando dovrebbe salvare il profilo del dispositivo all'interno di una cartella chiamata mozilla-profile
, nella medisima cartella in cui è posizionato lo script. Per fare restore del tuo backup:
python backup_restore_profile.py -r
Nota: Per vedere la lista completa delle opzioni esegui lo script con il flag -h
o --help
.
B2G-flash-tool
Il repository B2G-flash-tool contiene molti altri strumenti che ti consentono di fare rapidamente il flash delle nuove build sui dispositivi — strumenti ideali per il lavoro di QA. Per esempio:
- flash_pvt.py — Lo strumento principale per fare il flash di nuovi build.
- change_channel.sh — Ti consente di cambiare velocemente il canale di aggiornamento del telefono.
- check_versions.py — Restituisce la versione di B2G installata su un dispositivo.
- shallow_flash.sh — Ti consente di fare il flash di Gaia e/o Gecko su un dispositivo (per Windows è disponibile shallow_flash.bat).
- update_system_fonts.sh — Aggiorna i font di sistema per B2G v2.1 (bug 1032874).
Strumenti per il debug
Strumenti con funzionalità di debug.
WebIDE
WebIDE di Firefox merita una menzione speciale — oltre alle funzionalità di test e debug, offre funzionalità di monitoraggio delle performance, dell'utilizzo della memoria, ecc (vedi Monitoring performance.)
get_crashreports.sh
All'interno del repository B2G-flash-tool, get_crashreports.sh restituisce i report di crash (/data/b2g/mozilla/Crash Reports/
.)
Strumenti contenuti all'interno della cartella di root di B2G
Nella cartella di root di B2G sono presenti numerosi script che eseguono funzionalità di debug utili, quali:
- run-gdb.sh: Esegue il programma di debug a linea di comando gdb (vedi Debugging B2G using gdb and related tools per maggiori dettagli)
- run-valgrind.sh: Esegue il programma di debug Valgrind (vedi Debugging B2G using Valgrind per maggiori informazioni)
- watch-procrank.sh: Restituisce le informazioni sul consumo di memoria attraverso procrank.
Ulteriori strumenti
Sono disponibili ulteriori e utili strumenti nella cartella gaia/tools/ e in altre.
png_recompress.sh
Script per comprimere immagini in formato png. Puoi utilizzarlo analogamente al seguente esempio:
$ ./tools/png_recompress.sh -v bg.png
Rimuove metadati non necessari e comprime ulteriormente l'immagine; può produrre un risparmio fino al 99.5% sulla dimensione del file, si traduce in un impatto misurabile sulla dimensione della app e sull'utilizzo di memoria.
svg_recompress.sh
Presente nella cartella gaia/tools/, svg_recompress.sh comprime immagini SVG.
cache_sync.py
Presente nella cartella gaia/tools/, cache_sync.py sincronizza la cache offline di una app in una cartella locale. Il comando deve essere eseguito dalla cartella base di una app in gaia/external-apps. Costruisce una cartella per ciascuna origine nella cache offline.
edit_prefs.sh
Presente nella cartella di root di B2G, edit_prefs.sh restituisce le preferenze di un dispositivo.