O objetivo do projeto Firefox Reality é criar um navegador completo exclusivamente para headsets AR e VR independentes .
Você pode nos encontrar em #fxr:mozilla.org no Matrix (Instruções para ingressar), Twitter @MozillaReality e em [email protected].
Baixe APKs de desenvolvedor para Firefox Reality gerados a partir do main.
O Firefox Reality suporta chinês (China), chinês (Taiwan), inglês, francês, alemão, italiano, japonês, russo e espanhol para interface de usuário, pesquisa por voz e entrada de texto. A localização é fornecida pela incrível comunidade de localizadores voluntários da Mozilla.
Para mais informações sobre localização, como funciona no projeto Firefox Reality e como editar corretamente o texto localizável no aplicativo, consulte a página wiki de localização.
Clone o Firefox Reality.
git clone [email protected]:MozillaReality/FirefoxReality.git
cd FirefoxReality
Clone o repositório de terceiros.
Se estiver desenvolvendo para Oculus, Snapdragon VR ou VIVE, você precisará clonar o repositório com arquivos SDK de terceiros.
git clone [email protected]:MozillaReality/FirefoxReality-android-third-party.git third_party
Este repositório está disponível apenas para funcionários da Mozilla. Se você tiver acesso ao SDK relevante, mas não a este repositório, poderá colocá-los manualmente aqui:
third_party/ovr_mobile/
para Oculus (deve conter uma pasta VrApi
)third_party/wavesdk/
para Vive (deve conter uma pasta build
, entre outras coisas) O repositório em third_party
pode ser atualizado assim:
pushd third_party && git fetch && git checkout main && git rebase origin/main && popd
Busque submódulos Git.
Pode ser necessário configurar a autenticação de dois fatores para a linha de comando.
git submodule update --init --recursive
Você pode construir para diferentes dispositivos:
oculusvr
: Samsung Gear VR e Oculus Gowavevr
: VIVE FocoPara testar em um dispositivo não VR:
noapi
: funciona em telefones Android padrão sem fone de ouvidoA construção para Oculus Mobile e WaveVR requer acesso aos seus respectivos SDKs, que não estão incluídos neste repositório.
A versão de linha de comando do gradlew
requer JDK 8 da Oracle. Se você vir um erro informando que o Gradle não entende sua versão do Java, verifique qual versão você está usando executando java -showversion
ou java -version
. Você provavelmente está usando JDK 9 ou 10, o que não funcionará.
Abra o projeto com o Android Studio , compile-o e execute-o. Dependendo do que você já instalou no Android Studio, a compilação pode falhar e solicitar que você instale dependências. Continue fazendo o que sugere. Para selecionar o dispositivo para o qual construir, vá para Tool Windows > Build Variants
e selecione uma variante de construção correspondente ao seu dispositivo.
Se você deseja construir o SDK do FirefoxReality para WaveVR:
Baixe o VIVE Wave SDK dos recursos do desenvolvedor VIVE e descompacte-o. Em seguida, no diretório de projeto de nível superior, execute:
mkdir -p third_party/wavesdk
cp /path/to/the/sdk/2.0.32/SDK/libs/wvr_client.aar third_party/wavesdk
cp ./extra/wavesdk/build.gradle ./third_party/wavesdk
Certifique-se de definir o tipo de compilação como wavevrDebug
no Android Studio antes de compilar o projeto.
Você pode estar interessado em construir este projeto em versões locais de algumas das dependências. Isso pode ser feito usando um repositório maven local (bastante complicado) ou por meio de substituições de dependência do Gradle (nada complicado!).
Atualmente, o fluxo de substituição é simplificado para algumas das dependências principais por meio de sinalizadores de configuração em local.properties
. Você pode construir em um checkout local das seguintes dependências especificando seus caminhos locais:
dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-central
(e, opcionalmente, dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir
). Consulte Bug 1533465. Não se esqueça de executar uma sincronização do Gradle no Android Studio após alterar local.properties
. Se você especificou alguma substituição, ela será refletida na lista de módulos e você poderá modificá-la em uma única janela do Android Studio.
Você pode habilitar um sufixo dev applicationID para instalar compilações de desenvolvimento e produção simultaneamente. Você só precisa adicionar esta propriedade ao seu arquivo user.properties
:
simultaneousDevProduction =true
As compilações de versão local podem ser úteis para medir o desempenho ou depurar problemas que ocorrem apenas em compilações de versão. Em vez de lidar com chaves de lançamento, você pode facilitar o teste apenas adicionando esta propriedade ao seu arquivo user.properties
:
useDebugSigningOnRelease =true
Observação: os APKs de lançamento gerados com um keystore de depuração não podem ser usados para produção.
A compactação ETC2 é usada para melhorar o desempenho e o uso de memória. Os ativos brutos são colocados na pasta uncompressed_assets
. Você pode gerar as texturas compactadas usando o utilitário compressor em tools/compressor
. Você precisa configurar o etc2comp e disponibilizá-lo em seu PATH antes de executar o script. Execute este comando para gerar os ativos compactados:
cd tools/compressor
npm install
npm run compress
Você pode ativar a API OpenXR para Oculus adicionando esta propriedade ao seu arquivo user.properties
:
openxr =true
Device supports , but APK only supports armeabi-v7a[...]
Habilite a depuração remota USB no dispositivo.
Firefox > Web Developer > WebIDE > Performance
fica preso com "parar e mostrar perfil" esmaecidoReinicie o FxR e feche e reabra a página WebIDE.
Tool Windows > Build Variants
está vaziaAndroid Studio > Check for Updates…
.File > Sync Project with Gradle Files
. pro hand -p true -s false SIGILL
adb shell am start -a android.intent.action.VIEW -d "https://aframe.io" org.mozilla.vrbrowser/org.mozilla.vrbrowser.VRBrowserActivity
para carregar um URL da linha de comandoadb shell am start -a android.intent.action.VIEW -n org.mozilla.vrbrowser/org.mozilla.vrbrowser.VRBrowserActivity -e homepage "https://example.com"
para substituir a página inicialadb shell setprop debug.oculus.enableVideoCapture 1
para gravar um vídeo no Oculus Go. Lembre-se de executar adb shell setprop debug.oculus.enableVideoCapture 0
para interromper a gravação do vídeo.Sharing > Record Video
disableCrashRestart=true
no gradle user.properties
para desativar a reinicialização do aplicativo em caso de falha. Para compilar com suporte a Servo, crie um arquivo chamado user.properties
no diretório de nível superior do projeto e adicione enableServo=1
. Em seguida, para ativar o Servo no Firefox Reality, acesse o painel Opções do desenvolvedor em Configurações e alterne a opção Servo. Em seguida, um novo botão será adicionado à barra de navegação. Clicar nesse botão recarregará a página atual com Servo.