Este artigo necessita de uma revisão editorial. Como posso ajudar.
O comando make
é usado no repo Gaia para criar perfis Gaia que podem ser carregados no seu dispositivo ou ser executado no B2G Desktop. Esse artigo detalha as diversas opções disponíveis.
Nota: Existem muitas variáveis de ambiente no Makefile. Não fique dependente delas, pois podem ser removidas no futuro.
Os perfis criados normalmente são criadas no diretório raiz do gaia, por exemplo /gaia/profile
, e contém os seguintes itens:
defaults/
: Diretório que contém as configurações padrão a serem recarregadas após um reset do telefone.extensions/
: Diretório que contém extensões.settings.json
: Arquivo de configuração.user.js
: Outro arquivo que contém mais configurações e preferências.webapps/
: Diretório que contém aplicativos web que serão instalados no telefone.
Nota: Quando você já fez um perfil e quer compilar um novo, você deve apagar o diretório existente do perfil antes de tentar gerar um novo.
Default
make
Simplemente gera um binário sem a marca oficial da Mozilla e sem a opção de depuração. Para compilar um binário com a marca da Mozilla você precisa usar essa opção. Para um binário de compilação, você precisa da opção de depuração.
Copia para o dispositivo
make install-gaia make reset-gaia
Com a configuração do ADB (Android Debug Bridge) install-gaia
simplesmente copia as atualizações do Gaia do seu diretório de trabalho para o dispositivo. reset-gaia
apagará toda a configuração existente, os perfis, aplicativos e os dados (um novo conjunto de banco de dados será inicializado) antes de copiar o Gaia.
Compilando aplicativos específicos
APP=system make APP=system make install-gaia
Quando um perfil já existe, APP
permite que você esepcifique qual aplicativo será reempacotado, ao invés de copiar novamente todos os aplicativos Gaia.
Especificando um diretório de perfil customaizado
Você pode especificar um diretório para compilar o seu perfil, usando PROFILE_FOLDER
, por exemplo:
PROFILE_FOLDER=profile-b2g-desktop make
Compilando para dispositivos diferentes
Existem algumas opções que criam binários para diferentes dispositivos, com diferentes propósitos.
Criar um binário do Gaia para telefone
GAIA_DEVICE_TYPE=phone make
Esse binário pega os aplicativos listados em /gaia/build/config/phone/apps-engineering.list
.
Criar um binário do Gaia para tablet
GAIA_DEVICE_TYPE=tablet make
Esse binário pega os aplicativos listados em /gaia/build/config/tablet/apps-engineering.list
.
Tipos diferentes de compilação
Opções que criam binários com diversos propósitos.
Produção
PRODUCTION=1 make
Cria um binário produtivo do Gaia:
- Gaia é executado com os aplicativos empacotados, que é difícil de depurar, mas é a melhor forma para os aplicativos em termos de permissões de API, etc.
- Aplicativos de testes não são incluídos no binário.
- Depuração remota é desligada por padrão.
- Bloqueio de tela é habilitado por default (a conexão USB é derrubada quando a tela é bloqueada).
- Marionette está desligado.
- A experiência de primeiro uso está habilitada.
- É utilizado cache offline.
Nota: Você tamém pode usar o alias make production
.
Depuração
DEBUG=1 make
A variável DEBUG
executa o Gaia um um aplicativo hospedado num servidor interno numa porta específica (GAIA_PORT
), ao invés do aplicativo empacotado que deve ser reempacotado depois de cada alteração. Isso fica fácil para realizar os testes. Lançando esse perfil com a última versão do Firefox Nightly vai lhe proporcionar bons painéis do B2G nas ferramentas de desenvolvimento do Firefox.
Adicionalmente:
- Aplicativos de testes são incluídos no binário.
- Depuração remota é habilitada por padrão.
- A tela de bloqueio está desabilitada (conexões USB não serão interrompidas).
- Marionette é habiltado, pois é utilizado para executar os testes unitários.
- A experiência de primeiro uso é desligada.
- O cache offline não é utlizado, mesmo se for gerado.
Depuração do dispositivo
DEVICE_DEBUG=1 make
Desabilita a tela de bloqueio no dispositivo e habilita a depuração com a ferramenta ADB, que é útil para a depuração do dispositivo.
Nas versões do Firefox OS 1.2 e superiores, especifique esse parâmetro quando você quiser depurar os aplicativos Firefox OS com o App Manager.
Depuração do B2G Desktop
DEBUG=1 DESKTOP=0 make
Cria uma versão de depuração para ser executada no B2G desktop.
Imagem da marca oficial da Mozilla
MOZILLA_OFFICIAL=1 make
Imagem de Dogfood
DOGFOOD=1 make
Nota: Dogfooding é um termo em inglês muito usado em empresas de tecnologia, que significa fazer os usuários usarem produtos e serviços da empresa.
Nessa imagem são disponibilizadas opções e utilitários para o Dogfooding. Como exemplo, temos o aplicativo Feedback que permite aos dog fooders submeter feedbacks sobre o sistema operacional.
Aplicativos do sistema
B2G_SYSTEM_APPS=1 make
A variável de ambiente permite você copiar um aplicativo para o diretório /system/b2g
ao invés de /data/local
. Você deve usar isso quando você trabalhar com um binário do usuário. Essa variável é automaticamente definida quando executar make production
. Isso pode ser utilizado para install-gaia
ou reset-gaia
.
Compilação para distribuição customizada ou comercial
GAIA_DISTRIBUTION_DIR=./dir
Nota: Leia Customizações Comerciais para maiores detalhes.
Opções para desenvolvimento/depuração
Existem também opções para adicionar ou remover recursos com propósitos de depuração e suporte à programação.
Habilitar depuração remota
REMOTE_DEBUGGER=1
Habilita a depuração remota no dispositivo. Verificar o artigo Configurações para desenvolvedor.
Otimização do JavaScript
GAIA_OPTIMIZE=1 make
Habilita uma etapa no Gaia que concatena e comprime os arquivos JavaScript. Essa opção é automaticamente definida quando é executado make production
. Isso pode ser utilizado para install-gaia
ou reset-gaia
.
Imagens de alta resolução
GAIA_DEV_PIXELS_PER_PX=1.5 make
Ou com o alias:
GAIA_DPPX=1.5 make
Ao empacotar o aplicativo, essa opção substitui as imagens com os arquivos equivalentes em *@1.5x.(gif|jpg|png)
se existirem. Você precisa usar as opções abaixo como parte do comando make
padrão:
GAIA_DEV_PIXELS_PER_PX=1.5 make reset-gaia GAIA_DEV_PIXELS_PER_PX=1.5 make install-gaia
Atualmente o Gaia possui as seguintes resoluções de tela:
- qHD: ~540×960; device pixel ratio = 1.6875
- WVGA: ~480×800; device pixel ratio = 1.5
- HBGA (320x240); device pixel ratio = 1
utilize GAIA_DEV_PIXELS_PER_PX
para certificar-se que as imagens não apareçam deformadas nos dispostivos com telas qHD e WVGA. Veja o artigo Um pixel não é um pixel para maiores informações sobre pixels do dispositivo e pixels do CSS.
Compilação para dispositivos com pouca memória
GAIA_MEMORY_PROFILE=low make
Essa variável gera um perfil adequado para dispositivos com pouca memória, adequados para aparelhos como, por exemplo, o Tarako.
Desabilitar a Experiência de Primeiro Uso - First time use experience (FTU)
NOFTU=1
Desabilitar tela de bloqueio
Você pode desabilitar a tela de bloqueio usando a opçãoNO_LOCK_SCREEN:
NO_LOCK_SCREEN=1 make
Workloads
As opções "reference-workload"
possibilitam aos desenvolvedores e testadores instalar rapidamente uma grande quanitdade de dados em diversos aplicativos em um aparelho que tenha recebido uma imagem recentemente.
Os comandos são (executador a partir do diretório gaia):
make reference-workload-light
- 200 contatos
- 200 menssagens SMS
- Histórico de 50 ligações
- 20 imagens na galeria
- 20 músicas
- 5 vídeos
make reference-workload-medium
- 500 contatos
- 500 menssagens SMS
- Histórico de 100 ligações
- 50 imagens na galeria
- 50 músicas
- 10 vídeos
make reference-workload-heavy
- 1000 contatos
- 1000 menssagens SMS
- Histórico de 200 ligações
- 100 imagens na galeria
- 100 músicas
- 20 vídeos
make reference-workload-x-heavy
- 2000 contatos
- 2000 menssagens SMS
- Histórico de 500 ligações
- 250 imagens na galeria
- 250 músicas
- 50 vídeos
Essas opções podem ser usadas com a variável APP
, ou com a variável APPS
que deve conter os nomes dos aplicativos separados por espaço:
APP=sms make reference-workload-light APPS="sms communications/contacts" make reference-workload-heavy
Exemplo da variável APPS
:
APPS="gallery music video communications/contacts sms communications/dialer"
Para instalar as músicas, o utiliário mid3v2 deve ser instalado. Esse utilitário deve ser instalado com o seguinte comando:
sudo apt-get install python-mutagen
Se sua distro for o Fedora ou RHEL utilize:
sudo yum install python-mutagen
Documentação
Documentos do Gaia podem ser compilados via jsdoc3. Para gerá-los, use o seguintes comando:
make docs
Habilitando layout IME e dicionários
Para habilitar layout de teclado layout e os dicionários, use o seguinte comando:
GAIA_KEYBOARD_LAYOUTS=en,zh-Hant-Zhuyin,el,de,fr,zh-Hans-Pinyin make