L'objectif du projet Firefox Reality est de créer un navigateur complet exclusivement pour les casques AR et VR autonomes .
Vous pouvez nous trouver sur #fxr:mozilla.org sur Matrix (Instructions pour rejoindre), Twitter @MozillaReality et à [email protected].
Téléchargez les APK des développeurs pour Firefox Reality générés à partir du dernier fichier principal.
Firefox Reality prend en charge le chinois (Chine), le chinois (Taïwan), l'anglais, le français, l'allemand, l'italien, le japonais, le russe et l'espagnol pour l'interface utilisateur, la recherche vocale et la saisie de texte. La localisation est assurée par l'incroyable communauté de localisateurs bénévoles de Mozilla.
Pour plus d'informations sur la localisation, son fonctionnement dans le projet Firefox Reality et comment modifier correctement le texte localisable dans l'application, veuillez consulter la page wiki de localisation.
Clonez FirefoxReality.
git clone [email protected]:MozillaReality/FirefoxReality.git
cd FirefoxReality
Clonez le dépôt tiers.
Si vous développez pour Oculus, Snapdragon VR ou VIVE, vous devez cloner le dépôt avec des fichiers SDK tiers.
git clone [email protected]:MozillaReality/FirefoxReality-android-third-party.git third_party
Ce dépôt n'est disponible que pour les employés de Mozilla. Si vous avez accès au SDK concerné mais pas à ce dépôt, vous pouvez les placer manuellement ici :
third_party/ovr_mobile/
pour Oculus (doit contenir un dossier VrApi
)third_party/wavesdk/
pour Vive (doit contenir un dossier build
, entre autres) Le dépôt dans third_party
peut être mis à jour comme ceci :
pushd third_party && git fetch && git checkout main && git rebase origin/main && popd
Récupérez les sous-modules Git.
Vous devrez peut-être configurer une authentification à deux facteurs pour la ligne de commande.
git submodule update --init --recursive
Vous pouvez créer pour différents appareils :
oculusvr
: Samsung Gear VR et Oculus Gowavevr
: VIVE FocusPour tester sur un appareil non VR :
noapi
: Fonctionne sur les téléphones Android standards sans casqueLa création pour Oculus Mobile et WaveVR nécessite l'accès à leurs SDK respectifs qui ne sont pas inclus dans ce dépôt.
La version en ligne de commande de gradlew
nécessite JDK 8 d'Oracle. Si vous voyez une erreur indiquant que Gradle ne comprend pas votre version de Java, vérifiez quelle version vous utilisez en exécutant java -showversion
ou java -version
. Vous utilisez probablement JDK 9 ou 10, ce qui ne fonctionnera pas.
Ouvrez le projet avec Android Studio, puis créez-le et exécutez-le. En fonction de ce que vous avez déjà installé dans Android Studio, la construction peut échouer et vous inviter à installer des dépendances. Continuez simplement à faire ce qui est suggéré. Pour sélectionner l'appareil pour lequel créer, accédez à Tool Windows > Build Variants
et sélectionnez une variante de construction correspondant à votre appareil.
Si vous souhaitez créer le SDK FirefoxReality pour WaveVR :
Téléchargez le SDK VIVE Wave à partir des ressources des développeurs VIVE et décompressez-le. Ensuite, à partir du répertoire de niveau supérieur du projet, exécutez :
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
Assurez-vous de définir la version de construction sur wavevrDebug
dans Android Studio avant de créer le projet.
Vous pourriez être intéressé par la construction de ce projet avec des versions locales de certaines dépendances. Cela pourrait être fait soit en utilisant un référentiel maven local (assez fastidieux), soit via les substitutions de dépendances de Gradle (pas du tout lourdes !).
Actuellement, le flux de substitution est rationalisé pour certaines des dépendances principales via des indicateurs de configuration dans local.properties
. Vous pouvez créer une extraction locale des dépendances suivantes en spécifiant leurs chemins locaux :
dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-central
(et, éventuellement, dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir
). Voir le bogue 1533465. N'oubliez pas d'exécuter une synchronisation Gradle dans Android Studio après avoir modifié local.properties
. Si vous avez spécifié des substitutions, elles seront reflétées dans la liste des modules et vous pourrez les modifier à partir d'une seule fenêtre Android Studio.
Vous pouvez activer un suffixe d’ID d’application de développement pour installer simultanément les versions de développement et de production. Il vous suffit d'ajouter cette propriété à votre fichier user.properties
:
simultaneousDevProduction =true
Les versions locales peuvent être utiles pour mesurer les performances ou pour déboguer les problèmes qui se produisent uniquement dans les versions de version. Au lieu de gérer les clés de version, vous pouvez faciliter les tests en ajoutant simplement cette propriété à votre fichier user.properties
:
useDebugSigningOnRelease =true
Remarque : les APK de version générés avec un magasin de clés de débogage ne peuvent pas être utilisés pour la production.
La compression ETC2 est utilisée pour améliorer les performances et l'utilisation de la mémoire. Les ressources brutes sont placées dans le dossier uncompressed_assets
. Vous pouvez générer les textures compressées à l'aide de l'utilitaire de compression dans tools/compressor
. Vous devez configurer etc2comp et le rendre disponible sur votre PATH avant d'exécuter le script. Exécutez cette commande pour générer les éléments compressés :
cd tools/compressor
npm install
npm run compress
Vous pouvez activer l'API OpenXR pour Oculus en ajoutant cette propriété à votre fichier user.properties
:
openxr =true
Device supports , but APK only supports armeabi-v7a[...]
Activez le débogage à distance USB sur l'appareil.
Firefox > Web Developer > WebIDE > Performance
restent bloquées avec « arrêter et afficher le profil » griséRedémarrez FxR, fermez et rouvrez la page WebIDE.
Tool Windows > Build Variants
est videAndroid 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
pour charger une URL à partir de la ligne de commandeadb shell am start -a android.intent.action.VIEW -n org.mozilla.vrbrowser/org.mozilla.vrbrowser.VRBrowserActivity -e homepage "https://example.com"
pour remplacer la page d'accueiladb shell setprop debug.oculus.enableVideoCapture 1
pour enregistrer une vidéo sur l'Oculus Go. N'oubliez pas d'exécuter adb shell setprop debug.oculus.enableVideoCapture 0
pour arrêter l'enregistrement de la vidéo.Sharing > Record Video
disableCrashRestart=true
dans le fichier gradle user.properties
pour désactiver la relance de l'application en cas de crash. Pour compiler avec la prise en charge de Servo, créez un fichier appelé user.properties
dans le répertoire de projet de niveau supérieur et ajoutez enableServo=1
. Ensuite, pour activer Servo dans Firefox Reality, accédez au panneau Options du développeur dans les paramètres et activez l'option Servo. Ensuite, un nouveau bouton sera ajouté à la barre de navigation. Cliquer sur ce bouton rechargera la page actuelle avec Servo.