Usando o cliente B2G Desktop

Nota: Não há traduções aprovadas para este artigo.
Aprovado Versão em Inglês (EUA):

O Firefox OS para desktop, também chamado de cliente de desktop B2G, permite que você execute aplicativos de Gaia e aplicações web em um ambiente baseado no Gecko um pouco semelhante a um dispositivo real. Ele não emula o hardware do dispositivo, portanto, não é adequado para testar APIs dispositivo, e não é um substituto para testes em hardware real. No entanto, ele tem várias APIs habilitadas que não estão disponíveis no Firefox, como as APIs de Contatos e Configurações. Portanto, pode ser útil durante o desenvolvimento de nossa aplicação, ou enquanto estiver trabalhando na própria interface de usuário Gaia.

Este artigo aborda o download ou a construção do Firefox OS para desktop, bem como a forma de usá-lo.

Baixe uma compilação do nightly

Assim como Firefox Nightly, o Firefox OS cliente de desktop é lançado a cada dia a partir do código fonte mais recente. A versão mais recente está disponível no servidor FTP da Mozilla. Certifique-se de escolher a versão mais recente e o arquivo certo para o seu sistema operacional. Com isso você não precisa compilar, além disso, não é necessário fazer download da Gaia .

Certifique-se de instalar o aplicativo em um local com permissões de gravação. O aplicativo precisa ser capaz de atualizar o perfil incluído do Gaia.

Agora você pode pular para a execução do cliente de desktop.

Construir o cliente desktop

A primeira coisa que precisamos fazer é configurar um ambiente de compilação padrão Mozilla. Assim que tivermos isso, nós podemos baixar o código necessário, e configurar para compilar o Firefox OS cliente desktop.

Baixando o código pela primeira vez

Em um diretório onde gostaria que ficasse o código-fonte, vamos clonar o repositório mozilla-central que contém o Gecko:

 
hg clone http://hg.mozilla.org/mozilla-central

Alternativamente, você pode baixar o mesmo código do Github:

git clone https://github.com/mozilla/gecko-dev

Atualizar o código

Ao longo do tempo, você vai querer certificar-se de que o código esteja na sua última versão. Para isso execute:

cd mozilla-central
hg pull -u

ou

cd gecko-dev
git pull

Criar um mozconfig
 

Em seguida, você precisa criar um arquivo chamado mozconfig no diretório mozilla-central, para configurar o sistema de compilação do cliente Boot para Gecko cliente em vez do Firefox. Esse arquivo deve conter o seguinte conteúdo:

. "$topsrcdir/b2g/config/mozconfigs/common"

mk_add_options MOZ_OBJDIR=../build
mk_add_options MOZ_MAKE_FLAGS="-j9 -s"

ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo
 
# This option is required if you want to be able to run Gaia's tests
ac_add_options --enable-tests

# turn on mozTelephony/mozSms interfaces
# Only turn this line on if you actually have a dev phone
# you want to forward to. If you get crashes at startup,
# make sure this line is commented.
#ac_add_options --enable-b2g-ril

Você também precisa incluir a linha ENABLE_MARIONETTE=1 no arquivo se você quiser executar Mochitests no cliente B2G Desktopin (seja no mochitest-b2g-desktop ou mochitest-plain) ou se você quiser executar Testes unitários do Gaia.

Compilando


Agora estamos prontos para compilar o cliente B2G desktop com o seguinte comando a partir do diretório mozilla-central:

./mach build

O resultado da compilação será colocado no diretório ../build/dist (baseado no valor da variável MOZ_OBJDIR no arquivo mozconfig).

Baixando o Gaia

Por padrão, o cliente de desktop vai mostrar uma tela vazia, porque não sabe qual aplicativo web deve ser carregado inicialmente como o aplicativo do sistema. A coleção de aplicativos do sistema e os aplicativos padrão que vêm com o Firefox OS — Gaia — deve ser baixado.

Para baixar o Gaia pela primeira vez clono o repositório de código fonte no GitHub:

git clone https://github.com/mozilla-b2g/gaia
cd gaia

Para atualizar um clone já existente de Gaia, podemos puxar as últimas alterações do GitHub:

cd gaia
git pull

Criando um arquivo custom-settings.json

Se você sabe o que está fazendo e quer criar diversas opções de configuração, você pode criar o arquivo gaia/build/config/custom-settings.json e adicioná-lo no repositório, por exemplo:

{
  "lockscreen.enabled": false,
  "lockscreen.locked": false,
  "devtools.debugger.remote-enabled": true
}

Gerando um perfil

Em seguida, precisamos criar aplicativos Gaia para o cliente desktop. Isso inclui o acondicionamento dos aplicativos de Gaia da mesma forma como eles seriam instalados no dispositivo, bem como configurar as permissões para os aplicativos do sistema privilegiados. Fazemos isso através da geração de um perfil. O seguinte comando irá cuidar de que: O novo perfil contenha uma extensão personalizada e outra configuração necessária para fazer B2G executado corretamente. Então, fazer isso no diretório gaia:

DESKTOP_SHIMS=1 NOFTU=1 DEBUG=1 make

Isso deve criar o diretório profile-debug abaixo do diretório gaia. O novo perfil contém uma exensão personalizada e outros detalhes da configuração necessários para executar o B2G corretamente.

Executando o cliente de desktop


Uma vez que você compilou o cliente e Gaia baixado (ou baixado e instalado o aplicativo de Nightly desktop), você está pronto para executar o Firefox OS cliente desktop.

Executando no Linux

Para executar o cliente de desktop no Linux usando o perfil de Gaia embutido, basta executar o arquivo executável b2g. Se você quiser especificar um perfil de Gaia diferente (como o download separado do Gaia descrito no item acima) você precisa ignorar o programa que "empacota" o b2g e executar o binário b2g-bin. O binário está no pacote que você baixou anteriormente ou no diretório ../build/dist/bin, caso você tenha compilado o cliente.

.../b2g-bin -profile gaia/profile

Você pode ter problemas irritantes de renderização. Para evitá-los, adicione a seguinte linha ao seu arquivo gaia/profile/prefs.js:

user_pref("layers.acceleration.disabled", true);

Executando no Mac

Se você baixou a compilação Nightly, você pode simplesmente lançá-lo a partir do Finder, como de costume. Qualquer saída do console é visível executando programa utilitário padrão do console que acompanha o Mac.

Se você quiser especificar um perfil diferente do Gaia diferente, você precisa ignorar o programa que "empacot" o b2g e executar o binário b2g-bin. A linha de comando é um pouco mais complicada, devido à localização do binário B2G-bin e a necessidade de caminhos absolutos quando especificar o diretório de perfil:

.../B2G.app/Contents/MacOS/b2g-bin -profile /full/path/to/gaia/profile-debug

Executando no Windows

Para executar o Nightly no Windows basta executar o b2g.exe. Se você quiser personalizar a execução, você pode fazer isso executando b2g-bin.exe. Feito isso, o programa ignora o invólucro que automaticamente usa o pacote de Gaia.

Opções de linha de comando

Há uma série de opções de linha de comando que você pode usar para ajustar a experiência de tempo de execução ao usar o cliente de desktop. Você pode obter uma lista usando a opção -help. Esta seção cobre alguns das opções mais interessantes.

Especificando o tamanho da tela

Você pode especificar o tamanho da tela do dispositivo que você deseja simular usando a opção --screen:

b2g --screen=<width>x<height>@<dpi>

Onde <width>, <height> e <dpi> são parametros auto-explicativos parâmetros: a largura e altura da tela do dispositivo em pixels e a resolução do dispositivo em DPI. Por exemplo:

b2g --screen=320x480
b2g --screen=320x480@160


Opcionalmente, você pode especificar determinados dispositivos pelo nome para simular seu tamanho de tela e resolução:

iphone
ipad
nexus_s
galaxy_nexus
galaxy_tab
wildfire
tattoo
salsa
chacha

Abrindo o console JavaScript

Você pode abrir o console JavaScript, ao lançar o cliente desktop a partir da linha de comando com a o flag -jsconsole. Após compilar, basta executar o comando:

.../b2g -jsconsole -profile /path/to/your/profile

Se você tiver instalado o Nightly em um Mac, você pode fazer o seguinte:

/Applications/B2G.app/Contents/MacOS/b2g-bin -jsconsole -profile /path/to/your/profile

 

Nota: Em compilações de produção do Firefox OS, log de console (por examplo console.log()) é desabilitado por padrão. Para habilitá-lo, vá em Configurações do Desenvolvedor e habilite a opção Console Habilitado.

Lançando uma aplicação específica na inicialização

Agora você pode especificar um aplicativo a ser lançado automaticamente quando B2G começa a funcionar no cliente de desktop. Isto é feito, assim como o resto do sistema é feito o carregamento para cima. Para fazer isso, é só usar a opção --runapp que toma como parâmetro o nome do aplicativo para ser executado. Por exemplo:

.../b2g -profile /path/to/your/gaia/profile --runapp email

Nota: O nome especificado é normalizado convertendo para letras minúsculas e removendo os traços e espaços. Esse nome normalizado é comparado com nomes similares dos manifestos de aplicativos disponíveis. Por exemplo, o nome do aplicativo de email é "E-mail", mas --runapp email funcionará corretamente devido à normalização.

 

Se você especificar a opção --runapp sem um argumento, ou com um argumento vazio, o cliente B2G irá imprimir ao seu terminal uma lista das aplicações conhecidas.

 

Nota: Ao usar a opção --runapp a tela de bloqueio é desativada não sendo possível reativá-la. É assumido que você não vai usar este comando em um perfil no qual você estará testando a tela de bloqueio, ou você vai ligá-lo novamente manualmente. Sinta-se livre para contribuir com um patch para mudar esse comportamento se isso é um problema.

Dicas de uso

Esta seção fornece algumas dicas úteis para o uso do cliente de desktop B2G.

A tecla ESC executa a mesma função que o botão "voltar".

  • A tecla Esc executa a mesma função que o botão "voltar".
  • A tecla Home executa a mesma função que o botão "home", se você estiver no Mac, a tecla Home é disponível pressionando ao mesmo tempo as teclas Fn + ← (Fn + Seta para esquerda).
  • A tecla End executa a mesma função que o botão "Power", se você estiver no Mac, a tecla End é disponível pressionando ao mesmo tempo as teclas Fn + → (Fn + Seta para direita).
  • As telas Page Up e Page Down executa as mesmas funções que "Volume Up" e "Volume Down" respectivamente, se você estiver no Mac, as teclas Page Up e Page Down são disponíveis pressionando ao mesmo tempo as teclas Fn + ↑ (Fn + Seta para cima) e Fn + ↓ (Fn + Seta para baixo) respectivamente.
  • Pressionando longamente a tecla Home abre a "Visão de Cartas", se você estiver no Mac, Cmd + Fn + ← (Cmd + Fn + seta para esquerda) abre a "Visão de Cartasopens the "Visão de Cartas".

Resolução de Problema: Uma tela branca quando o B2G Desktop inicia

Quando você inicia o b2g usando b2g -profile gaia/profile uma tela branca pode aparecer juntamente com o erro "Cannot reach app://system.gaiamobile.org". Para resolver isso uma série coisas devem ser verificadas:

  • Recompile o perfil do Gaia usando DEBUG=1 make profile no diretório gaia.
  • Execute b2g novamente.
  • Se isso não resolver, verifique se existe outro processo conectado na porta 8080. O perfil padrão do Gaia executa httpd.js, que escuta a porta 8080. Ao executar um perfil de depuração, B2G conecta a localhost:8080. Se algum outro processo estiver executando na porta 8080, b2g falha e não mostra a tela inicial do gaia.
    1. Para descobrir se esse é o caso, você pode habilitar o log em httpd.js. O httpd.js no perfil reside em gaia/profile/extensions/httpd/content/httpd.js. Abra esse arquivo para editá-lo.
    2. Altere a linha var DEBUG=false; para var DEBUG=true;
    3. Salve o arquivo e reinicie B2G. No console você conseguirá ver os logs do httpd.

Próximos passos

Agora que você tem uma área de trabalho de compilação de Boot para Gecko, você pode testar, desenvolver e realizar outras tarefas:

 

 

Document Tags and Contributors

Contributors to this page: rbrandao, teoli, Attyla2@Fellipe
Última atualização por: teoli,
Esconder painel