Firefox Reality プロジェクトの目標は、スタンドアロンAR および VR ヘッドセット専用のフル機能のブラウザを作成することです。
マトリックスの #fxr:mozilla.org (参加手順)、Twitter @MozillaReality、および[email protected]で私たちを見つけることができます。
最新のメインから生成された 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/
( VrApi
フォルダーが含まれている必要があります)third_party/wavesdk/
( build
フォルダーなどが含まれている必要があります) third_party
のリポジトリは次のように更新できます。
pushd third_party && git fetch && git checkout main && git rebase origin/main && popd
Git サブモジュールを取得します。
コマンドラインに 2 要素認証を設定する必要がある場合があります。
git submodule update --init --recursive
さまざまなデバイス向けにビルドできます。
oculusvr
: Samsung Gear VR & Oculus Gowavevr
: VIVE フォーカス非 VR デバイスでテストする場合:
noapi
: ヘッドセットなしの標準の Android スマートフォンで実行しますOculus Mobile および WaveVR 用にビルドするには、このリポジトリには含まれていないそれぞれの 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 ウィンドウから変更できるようになります。
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
このプロパティを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
使用して、コマンドラインから 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
user.properties
でdisableCrashRestart=true
を設定すると、クラッシュ時のアプリの再起動を無効にすることができます。 Servo サポートを使用してコンパイルするには、最上位のプロジェクト ディレクトリにuser.properties
というファイルを作成し、 enableServo=1
を追加します。次に、Firefox Reality で Servo を有効にするには、[設定] の [開発者向けオプション] パネルに移動し、[Servo] オプションを切り替えます。新しいボタンがナビゲーション バーに追加されます。そのボタンをクリックすると、Servo を使用して現在のページがリロードされます。