Цель проекта Firefox Reality — создать полнофункциональный браузер исключительно для автономных гарнитур AR и VR.
Вы можете найти нас по адресу #fxr:mozilla.org в Матрице (инструкции по присоединению), в Твиттере @MozillaReality и по адресу [email protected].
Загрузите APK-файлы разработчика для Firefox Reality, созданные на основе последней версии main.
Firefox Reality поддерживает пользовательский интерфейс, голосовой поиск и ввод текста на китайском (Китай), китайском (Тайвань), английском, французском, немецком, итальянском, японском, русском и испанском языках. Локализация осуществляется замечательным сообществом волонтеров-локализаторов Mozilla.
Для получения дополнительной информации о локализации, о том, как она работает в проекте Firefox Reality и о том, как правильно редактировать локализуемый текст в приложении, посетите вики-страницу локализации.
Клон FirefoxReality.
git clone [email protected]:MozillaReality/FirefoxReality.git
cd FirefoxReality
Клонируйте сторонний репозиторий.
Если вы разрабатываете для Oculus, Snapdragon VR или VIVE, вам необходимо клонировать репозиторий с помощью сторонних файлов SDK.
git clone [email protected]:MozillaReality/FirefoxReality-android-third-party.git third_party
Этот репозиторий доступен только сотрудникам Mozilla. Если у вас есть доступ к соответствующему SDK, но нет этого репозитория, вы можете вручную разместить их здесь:
third_party/ovr_mobile/
для Oculus (должен содержать папку VrApi
)third_party/wavesdk/
для Vive (среди прочего должен содержать папку build
) Репо в third_party
можно обновить следующим образом:
pushd third_party && git fetch && git checkout main && git rebase origin/main && popd
Получите подмодули Git.
Возможно, вам потребуется настроить двухфакторную аутентификацию для командной строки.
git submodule update --init --recursive
Вы можете собирать для разных устройств:
oculusvr
: Samsung Gear VR и Oculus Gowavevr
: VIVE ФокусДля тестирования на устройстве без поддержки VR:
noapi
: работает на стандартных телефонах Android без гарнитуры.Для сборки для Oculus Mobile и WaveVR требуется доступ к соответствующим SDK, которые не включены в этот репозиторий.
Версия gradlew
для командной строки требует JDK 8 от Oracle. Если вы видите ошибку о том, что Gradle не понимает вашу версию Java, проверьте, какую версию вы используете, запустив java -showversion
или java -version
. Вероятно, вы используете JDK 9 или 10, и это не сработает.
Откройте проект с помощью Android Studio , затем соберите и запустите его. В зависимости от того, что вы уже установили в Android Studio, сборка может завершиться неудачей, а затем вам может быть предложено установить зависимости. Просто продолжайте делать, как он предлагает. Чтобы выбрать устройство для сборки, перейдите в Tool Windows > Build Variants
и выберите вариант сборки, соответствующий вашему устройству.
Если вы хотите собрать FirefoxReality для WaveVR SDK:
Загрузите VIVE Wave SDK из ресурсов VIVE Developer Resources и разархивируйте его. Затем из каталога проекта верхнего уровня запустите:
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
Перед созданием проекта обязательно установите вариант сборки wavevrDebug
в Android Studio.
Возможно, вас заинтересует создание этого проекта на основе локальных версий некоторых зависимостей. Это можно сделать либо с помощью локального репозитория maven (довольно громоздко), либо с помощью подстановок зависимостей Gradle (совсем не громоздко!).
В настоящее время поток замены для некоторых основных зависимостей оптимизирован с помощью флагов конфигурации в local.properties
. Вы можете построить на основе локального извлечения следующие зависимости, указав их локальные пути:
dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-central
(и, дополнительно, dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir
). См. ошибку 1533465. Не забудьте запустить синхронизацию Gradle в Android Studio после изменения local.properties
. Если вы указали какие-либо замены, они будут отражены в списке модулей, и вы сможете изменить их из одного окна Android Studio.
Вы можете включить суфикс dev applicationID для одновременной установки как девелоперской, так и рабочей сборки. Вам просто нужно добавить это свойство в файл user.properties
:
simultaneousDevProduction =true
Сборки локальных выпусков могут быть полезны для измерения производительности или отладки проблем, возникающих только в сборках выпусков. Вместо работы с ключами выпуска вы можете упростить тестирование, просто добавив это свойство в файл user.properties
:
useDebugSigningOnRelease =true
Примечание. APK-файлы выпуска, созданные с помощью хранилища ключей отладки, нельзя использовать в рабочей среде.
Сжатие ETC2 используется для улучшения производительности и использования памяти. Необработанные ресурсы помещаются в папку uncompressed_assets
. Вы можете сгенерировать сжатые текстуры с помощью утилиты компрессора в tools/compressor
. Вам необходимо настроить etc2comp и сделать его доступным в вашей PATH перед запуском сценария. Запустите эту команду для создания сжатых ресурсов:
cd tools/compressor
npm install
npm run compress
Вы можете включить OpenXR API для Oculus, добавив это свойство в файл user.properties
:
openxr =true
Device supports , but APK only supports armeabi-v7a[...]
Включите удаленную отладку по USB на устройстве.
Firefox > Web Developer > WebIDE > Performance
зависает с серым цветом «остановить и показать профиль».Перезапустите FxR, закройте и снова откройте страницу WebIDE.
Tool Windows > Build Variants
пуст.Android 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
для загрузки URL-адреса из командной строки.adb shell am start -a android.intent.action.VIEW -n org.mozilla.vrbrowser/org.mozilla.vrbrowser.VRBrowserActivity -e homepage "https://example.com"
чтобы переопределить домашнюю страницу.adb shell setprop debug.oculus.enableVideoCapture 1
для записи видео на Oculus Go. Не забудьте запустить adb shell setprop debug.oculus.enableVideoCapture 0
чтобы остановить запись видео.Sharing > Record Video
disableCrashRestart=true
в gradle user.properties
чтобы отключить перезапуск приложения при сбое. Чтобы скомпилировать с поддержкой Servo, создайте файл с именем user.properties
в каталоге проекта верхнего уровня и добавьте enableServo=1
. Затем, чтобы включить сервопривод в Firefox Reality, перейдите на панель «Параметры разработчика» в настройках и включите параметр «Сервопривод». Затем на панель навигации будет добавлена новая кнопка. Нажатие этой кнопки перезагрузит текущую страницу с помощью Servo.