Firefox Reality 项目的目标是创建一款专为独立AR 和 VR 耳机打造的全功能浏览器。
您可以在 Matrix 上的#fxr:mozilla.org(加入说明)、Twitter @MozillaReality 和[email protected] 中找到我们。
下载从最新 main 生成的 Firefox Reality 开发者 APK。
Firefox Reality 支持中文(中国)、中文(台湾)、英语、法语、德语、意大利语、日语、俄语和西班牙语的用户界面、语音搜索和文本输入。本地化由 Mozilla 令人惊叹的本地化志愿者社区提供。
有关本地化、它如何在 Firefox Reality 项目中工作以及如何在应用程序中正确编辑可本地化文本的更多信息,请参阅本地化 wiki 页面。
克隆 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/
for Vive(应包含build
文件夹等) third_party
中的存储库可以像这样更新:
pushd third_party && git fetch && git checkout main && git rebase origin/main && popd
获取 Git 子模块。
您可能需要为命令行设置双因素身份验证。
git submodule update --init --recursive
您可以针对不同的设备进行构建:
oculusvr
:三星 Gear VR 和 Oculus Gowavevr
: VIVE 焦点对于非 VR 设备上的测试:
noapi
:在不带耳机的标准 Android 手机上运行为 Oculus Mobile 和 WaveVR 构建需要访问其各自的 SDK,这些 SDK 未包含在本存储库中。
gradlew
的命令行版本需要 Oracle 的 JDK 8。如果您看到 Gradle 无法识别您的 Java 版本的错误,请通过运行java -showversion
或java -version
检查您使用的是哪个版本。您可能使用的是 JDK 9 或 10,这不起作用。
使用 Android Studio 打开项目,然后构建并运行它。根据您已在 Android Studio 中安装的内容,构建可能会失败,然后可能会提示您安装依赖项。只要继续按照它的建议去做就可以了。要选择要构建的设备,请转到Tool Windows > Build Variants
,然后选择与您的设备相对应的构建变体。
如果您想为 WaveVR SDK 构建 FirefoxReality:
从 VIVE 开发者资源下载 VIVE Wave SDK 并解压缩。然后,从顶级项目目录中运行:
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
在构建项目之前,请确保在 Android Studio 中将构建风格设置为wavevrDebug
。
您可能有兴趣针对某些依赖项的本地版本构建此项目。这可以通过使用本地 Maven 存储库(相当麻烦)或通过 Gradle 的依赖项替换(一点也不麻烦!)来完成。
目前,通过local.properties
中的配置标志简化了一些核心依赖项的替换流程。您可以通过指定本地路径来针对以下依赖项的本地签出进行构建:
dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-central
(以及可选的dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir
)指定其路径。请参阅错误 1533465。更改local.properties
后,不要忘记在 Android Studio 中运行 Gradle 同步。如果您指定了任何替换,它们将反映在模块列表中,并且您将能够从单个 Android Studio 窗口中修改它们。
您可以启用开发应用程序 ID 后缀以同时安装开发版本和生产版本。您只需将此属性添加到您的user.properties
文件中:
simultaneousDevProduction =true
本地发布版本可用于衡量性能或调试仅在发布版本中发生的问题。除了处理发布密钥之外,您只需将此属性添加到user.properties
文件中即可使测试变得更容易:
useDebugSigningOnRelease =true
注意:使用调试密钥库生成的发布 APK 不能用于生产。
ETC2 压缩用于提高性能和内存使用率。原始资源放置在uncompressed_assets
文件夹中。您可以使用tools/compressor
中的压缩器实用程序生成压缩纹理。在运行脚本之前,您需要设置 etc2comp 并使其在您的 PATH 中可用。运行以下命令生成压缩资源:
cd tools/compressor
npm install
npm run compress
您可以通过将此属性添加到user.properties
文件来为 Oculus 启用 OpenXR API:
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…
更新 Android Studio。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
从命令行加载 URLadb 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
user.properties
中设置disableCrashRestart=true
以禁用应用程序崩溃时重新启动。 要使用 Servo 支持进行编译,请在顶级项目目录中创建一个名为user.properties
的文件并添加enableServo=1
。然后,要在 Firefox Reality 中启用 Servo,请转到“设置”中的“开发者选项”面板,然后切换“Servo”选项。然后一个新按钮将添加到导航栏。单击该按钮将使用 Servo 重新加载当前页面。