https://wiki.mozilla.org/Gaia/Hacking#Building_B2G
hg clone http://hg.mozilla.org/mozilla-central mozilla-central
git clone https://github.com/andreasgal/gaia gaia
OBS: o mozilla-central demora muito, aguarde.
Se não tiver o hg (mercurial) ou o git, instale-os via Homebrew com brew install hg
, etc
Há algumas dependências para o Mac OS X para fazer o build do mozilla-central como visto em https://developer.mozilla.org/en/Mac_OS_X_Build_Prerequisites
Entre elas o yasm
e o libidl
Instale-as também com o Homebrew:
brew install yasm libidl
Outra dependência peculiar é a versão 2.13 do autoconf, você pode obter mais uma vez pelo Homebrew:
brew install https://raw.github.com/Homebrew/homebrew-versions/master/autoconf213.rb
na pasta do ~/mozilla-central criei um arquivo mozconfig
com o seguinte conteúdo:
mk_add_options MOZ_OBJDIR=../b2g-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
Note que essa última linha pode ser comentada se começar a ter crashes no startup do B2G. Não tive nenhum problema com ou sem o uso dessa opção (fiz duas builds diferentes).
Faça o build com o seguinte comando:
make -f client.mk build
Aguarde, pois vai demorar (mais de uma hora).
Agora é hora de fazer o build do Gaia. Vá até a pasta onde ele foi instalado. Por exemplo, a minha foi a ~/gaia
.
O build do Gaia é rápido, mas tive problemas na inicialização e resolvi adicionando um valor para a palavra DEBUG, antes de executar o make
, então recomendo o seguinte para fazer o build do Gaia:
DEBUG=1 make
O processo vai gerar uma pasta profile
dentro do Gaia que vamos utilizar mais a frente.
O perfil do Gaia cria um serviço web e você precisa adicionar sua máquina para os domínios e subdomínios chamados.
Logo, modifique o seu /etc/hosts
como root e inclua a seguinte linha:
127.0.0.1 gaiamobile.org
127.0.0.1 homescreen.gaiamobile.org
127.0.0.1 dialer.gaiamobile.org
127.0.0.1 sms.gaiamobile.org
127.0.0.1 browser.gaiamobile.org
127.0.0.1 maps.gaiamobile.org
127.0.0.1 camera.gaiamobile.org
127.0.0.1 gallery.gaiamobile.org
127.0.0.1 video.gaiamobile.org
127.0.0.1 market.gaiamobile.org
127.0.0.1 music.gaiamobile.org
127.0.0.1 settings.gaiamobile.org
127.0.0.1 clock.gaiamobile.org
127.0.0.1 crystalskull.gaiamobile.org
127.0.0.1 penguinpop.gaiamobile.org
127.0.0.1 towerjelly.gaiamobile.org
127.0.0.1 wikipedia.gaiamobile.org
127.0.0.1 cnn.gaiamobile.org
127.0.0.1 bbc.gaiamobile.org
127.0.0.1 nytimes.gaiamobile.org
127.0.0.1 calculator.gaiamobile.org
Após os builds feitos, chame o browser simulador do B2G para abrir a partir do perfil do Gaia:
../b2g-build/dist/B2G.app/Contents/MacOS/b2g -profile ~/gaia/profile
Lembre-se que os diretórios ~/b2g-build
e ~/gaia
são de sua escolha e podem ser diferentes nesse processo.
Provavelmente virá a seguinte resposta:
Opened socket on 4242
======================= webapi+apps.js =======================
DataCallSettings - ril.data.enabled:falseDataCallSettings - ril.data.roaming.enabled:falseDataCallSettings - ril.data.apn:DataCallSettings - ril.data.user:DataCallSettings - ril.data.passwd:
Não tem que inserir password, simplesmente alterne as janelas abertas para abrir o B2G Desktop e divirta-se.