Il comando make
viene utilizzato all'interno del repository di Gaia per creare il profilo che verrà poi caricato sul dispositivo o eseguito in B2G Desktop. Questo articolo descrive in dettaglio le differenti opzioni di make disponibili.
Nota: Sono disponibili molte variabili di ambiente nel Makefile. In futuro potrebbero cambiare.
I profili creati sono generalmente posti sotto la root della directory gaia, per esempio /gaia/profile
, e contengono i seguenti elementi:
defaults/
: Cartella che contiene le configurazioni di default che verranno caricate dopo il reset del dispositivoextensions/
: Cartella che contiene le estensionisettings.json
: File di configurazioneuser.js
: Altro file contenente configurazioni/preferenzewebapps/
: Cartelle contenente tutte le app che verranno installate sul dispositivo
Nota: Ricordati di rimuovere un profilo già esistete, rimuovendo l'intera cartella, prima di crearne uno nuovo.
Default
make
Senza opzioni verrà creato un profilo anonimo, non di debug. Per un profilo marcato Mozilla vedi Opzione per build Mozilla ufficiale; per un profilo di debug vedi Opzione di debug.
Installare sul dispositivo
make install-gaia make reset-gaia
Dopo aver installato ADB (Android Debug Bridge) sul tuo sistema, queste opzioni di make ti consentiranno di installare Gaia sul dispositivo. Mentre install-gaia
installerà solo gli aggiornamenti/update, reset-gaia
installerà completamente Gaia rimuovendo prima configurazioni, profili e web app.
Nota: Installando Gaia sul tuo dispositivo utilizzando make install-gaia
/ make reset-gaia
verrà costruito Gaia con una risoluzione pari a 1x per default. Per specificare una più alta risoluzione dovrai utilizzare le opzioni GAIA_DEV_PIXELS_PER_PX
o GAIA_DPPX
(vedi Immagini ad alta risoluzione per maggiori dettagli). Quando installi Gaia sul tuo dispositivo in questo modo, dovresti specificare le opzioni rilevanti assieme al fattore di scala del tuo dispositivo, ad esempio make install-gaia GAIA_DEV_PIXELS_PER_PX=1.5
per un Flame (o 2, o 2.5, ecc; trovi i valori di scala nella tabella all'interno di questo articolo 512 icon for device display.)
Costruire app specifiche
APP=system make APP=system make install-gaia
Se un profilo è già esistente, l'opzione APP
ti consente di specificare quale app ricostruire invece di ricostruire e reinstallare tutte le app. Nota che mentre questo comando ti consente di pubblicare il nuovo package e il file di manifest della app sul dispositivo, le modifiche apportate al file di manifest (nuovi permessi, layout della tastiera, ecc) non verranno recepite da Gecko.
Specificare una cartella per il profilo
Puoi specificare una cartella custom per costruire il tuo profilo utilizzando PROFILE_FOLDER
, per esempio:
PROFILE_FOLDER=profile-b2g-desktop make
Build specifiche per dispositivi
Ci sono alcune opzioni di make che ti consentono di costruire build per differenti device, per differenti scopi.
Creare una build di Gaia per telefono
GAIA_DEVICE_TYPE=phone make
La lista delle app è quella contenuta nel file /gaia/build/config/phone/apps-engineering.list
.
Crea una build di Gaia per tablet
GAIA_DEVICE_TYPE=tablet make
La lista delle app è quella definita nel file /gaia/build/config/tablet/apps-engineering.list
.
Crea una build per Spark
GAIA_DISTRIBUTION_DIR=distros/spark make reset-gaia
Per Installare spark sul tuo dispositivo. L'opzione equivalente per B2G build.sh:
GAIA_DISTRIBUTION_DIR=distros/spark ./build.sh
Differenti opzioni di Build
Differenti opzioni di make consentono di costruire differenti tipi di build per scopi differenti.
Build di produzione
PRODUCTION=1 make
Costruisce una build di produzione di Gaia:
- Le app di Gaia vengono eseguite in modalità packaged. Rappresenta la soluzione migliore per le app, ad esempio in termini di permessi, ma rendondo difficoltoso il debugging
- Le app di test non sono incluse
- La funzionalità di debugging remoto è spenta per default
- La schermata di blocco (lock screen) è abilitata di default (interferisce con le connessioni USB)
- Marionette è disabilitato
- L'esperienza utente di primo utilizzo (first time user experience) è abilitata
- La funzionalità di cache offline è abilitata
Nota: Puoi anche utilizzare l'alias make production
.
Opzione di debug
DEBUG=1 make
Tramite la variabile di DEBUG
le app vengono eseguite in modalità hosted su un web server interno su una specifica GAIA_PORT
. Rispetto alla modalità di default packaged, in cui le app dovranno essere reinstallate dopo ogni modifica, la modalità hosted semplifica il testing. Utilizzando il profilo all'interno delle più recenti Nightly di Firefox sarà disponibile un pannello specifico per B2G all'interno dei Firefox Developer Tools. Una volta apportata la modifica sarà sufficiente effettuare un refresh del browser per rendere la modifica disponibile sul simulatore.
Inoltre:
- Le app di test sono inlcuse nella build
- Il debugging remoto è abilitato di default.
- La schermata di blocco è disabilitata di default (non interferisce con le connessioni USB)
- Marionette è abilitato, è prerequisito per eseguire lo unit testing di Gaia
- L'esperienza utente di primo utilizzo è disabilitata
- la cache offline non viene utilizzata sebbene viene resa disponibile
Opzione di debug per dispositivo
DEVICE_DEBUG=1 make
Questa opzione crea un profilo di debug per dispositivo, con lo schermo di blocco disabilitato e la funzione di debugging via ADB abilitata.
In Firefox OS con versione superiore a 1.2 puoi utilizzare questo paramatro per abilitare la funzionalità di debugging attraverso App Manager.
Opzione di debug per desktop
DEBUG=1 DESKTOP=0 make
Questa opzione crea un profilo di debug che potrà essere eseguita all'interno di B2G desktop.
Opzione per build Mozilla ufficiale
MOZILLA_OFFICIAL=1 make
Utilizza questa opzione per costruire una build con brand Mozilla ufficiale.
Opzione Dogfood
DOGFOOD=1 make
Questa opzione attiva la modalità Dogfood e le relative utility. Per esempio l'app di feedback, che consente di sottomettere feedback facilmente.
Opzione per installare sotto la cartella system
B2G_SYSTEM_APPS=1 make
Questa opzione consente di installare le app sotto la cartella /system/b2g
invece di /data/local
. Dovresti utilizzarla quando lavori su una build utente. Viene automaticamente impostata quando viene eseguito make production
. Può essere utilizzata anche per le opzioni install-gaia
o reset-gaia
.
Opzione per distribuzione commerciale
GAIA_DISTRIBUTION_DIR=./dir
Nota: Leggi l'articolo Customizzazioni Commerciali per maggiori dettagli.
Opzioni per sviluppo e debugging
A scopo di debugging vengono introdotte alcune opzioni specifiche per aggiungere/rimuovere funzionalità o modificare configurazioni/setting.
Abilitare il debugging remoto
REMOTE_DEBUGGER=1
Abilita il debugging remoto su dispositivo, analogamente all'utilizzo dell'opzione specifica all'interno del menù delle configurazioni per sviluppatore (developer settings).
Opzione di ottimizzazione JavaScript
GAIA_OPTIMIZE=1 make
Abilita lo step di ottimizzazione del codice JavaScript di Gaia, concatenando/comprimendo i file. Viene automaticamente abilitato quando viene eseguito make production
. Può anche essere utilizzato per install-gaia
o reset-gaia
.
Immagini ad alta risoluzione
GAIA_DEV_PIXELS_PER_PX=1.5 make
Analogamento con:
GAIA_DPPX=1.5 make
Questa opzione sostituisce le immagini con le corrispettive *@1.5x.(gif|jpg|png)
se disponibili. Dovresti utilizzare questa opzione come parte del comando make
, per esempio:
GAIA_DEV_PIXELS_PER_PX=1.5 make reset-gaia GAIA_DEV_PIXELS_PER_PX=1.5 make install-gaia
Gaia di default utilizza le seguenti risoluzioni per lo schermo:
- qHD: ~540×960; device pixel ratio = 1.6875
- WVGA: ~480×800; device pixel ratio = 1.5
- HBGA (320x240); device pixel ratio = 1
utilizza GAIA_DEV_PIXELS_PER_PX
per essere certo che le immagini appaiano limpide su dispositivi qHD e WVGA. Fai riferimento all'articolo un pixel non è un pixel per maggiori informazioni.
Eseguire i tesi di integrazione
Puoi eseguire i test di integrazione su Gaia utilizzando make. Vedi Gaia integration tests per maggiori dettagli.
Eseguire i test di performance Raptor
Prima di eseguire i test devi configurare il tuo dispositivo per eseguire i test Raptor. Per i dettagli vedi direttamente Raptor.
make raptor
Build di profili per dispositivi con scarsa memoria
GAIA_MEMORY_PROFILE=low make
Tramite questa opzione viene generato un profilo specifico per dispositivi con scarsa memoria quale ad esempio il Tarako.
Disabilitare l'esperienza utente di primo utilizzo (first time use experience, FTU)
NOFTU=1
Tramite questa variabile di ambiente viene disabilitata la FTU.
Disabilitare lo schermo di blocco
Puoi disabilitare lo schermo di blocco di Firefox OS utilizzando l'opzione NO_LOCK_SCREEN, per esempio:
NO_LOCK_SCREEN=1 make
Attivare carichi di lavoro (workloads)
Le seguenti opzioni permettono a sviluppatori/tester di installare grandi quantità di dati in differenti applicazioni, generalmente su dispositivi nuovi e appena installati.
I comandi da utilizzare (dalla cartella di Gaia) sono:
make reference-workload-light
- 200 contatti
- 200 sms
- 50 chiamate nello storico del dialer
- 20 immagini
- 20 canzoni
- 5 video
make reference-workload-medium
- 500 contatti
- 500 sms
- 100 chiamate nello storico del dialer
- 50 immagini
- 50 canzoni
- 10 video
make reference-workload-heavy
- 1000 contatti
- 1000 sms
- 200 chiamate nello storico del dialer
- 100 immagini
- 100 canzoni
- 20 video
make reference-workload-x-heavy
- 2000 contatti
- 2000 sms
- 500 chiamate nello storico del dialer
- 250 immagini
- 250 canzoni
- 50 video
Tramite le variabili di ambiente APP
o APPS
puoi speficare la singola app o le singole app, ad esempio:
APP=sms make reference-workload-light APPS="sms communications/contacts" make reference-workload-heavy
La variabile APP può assumere i seguenti valori:
APPS="gallery music video communications/contacts sms communications/dialer"
Per installare canzoni, devi avere installato sul tuo sistema il programma mid3v2. Ad esempio tramite il comando:
sudo apt-get install python-mutagen
Se hai un sistema Fedora o RHEL, utilizza:
sudo yum install python-mutagen
Opzioni per la documentazione
I documenti di Gaia vengono generati tramite jsdoc3, utilizzando il seguente comando:
make docs
Abilitare layout e dizionario IME
Per abilitare tastiera e dizionari IME utilizza il seguente comando:
GAIA_KEYBOARD_LAYOUTS=en,zh-Hant-Zhuyin,el,de,fr,zh-Hans-Pinyin make
Attualmente non vengono distribuiti tutti i layout di default, per via dell'occupazione di spazio disco. Il bug 1029951 è stato aperto per disaccoppiare la distribuzione di layout e dizionari (offrendo all'utente la possibilità di scaricare quelli di interesse).
Per favore dai un'occhiata al seguente file build/config/keyboard-layouts.json per trovare tutti i layout disponibili.