الهدف من مشروع Firefox Reality هو إنشاء متصفح كامل الميزات حصريًا لسماعات الواقع المعزز والواقع الافتراضي المستقلة .
يمكنك العثور علينا على #fxr:mozilla.org على Matrix (تعليمات الانضمام)، وTwitter @MozillaReality، وعلى عنوان [email protected].
قم بتنزيل ملفات APK للمطورين لـ Firefox Reality التي تم إنشاؤها من أحدث إصدار رئيسي.
يدعم Firefox Reality اللغة الصينية (الصين)، والصينية (تايوان)، والإنجليزية، والفرنسية، والألمانية، والإيطالية، واليابانية، والروسية، والإسبانية لواجهة المستخدم والبحث الصوتي وإدخال النص. يتم توفير التوطين من خلال مجتمع Mozilla الرائع من المترجمين المتطوعين.
لمزيد من المعلومات حول الترجمة، وكيفية عملها في مشروع Firefox Reality، وكيفية تحرير النص القابل للترجمة بشكل صحيح في التطبيق، يرجى الاطلاع على صفحة wiki الخاصة بالترجمة.
استنساخ فايرفوكس الواقع.
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
: Samsung Gear VR وOculus Gowavevr
: التركيز المباشرللاختبار على جهاز غير الواقع الافتراضي:
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، وقم بفك ضغطه. ثم، من دليل المشروع ذي المستوى الأعلى، قم بتشغيل:
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 قبل إنشاء المشروع.
قد تكون مهتمًا ببناء هذا المشروع مقابل الإصدارات المحلية لبعض التبعيات. يمكن القيام بذلك إما باستخدام مستودع محلي مخضرم (مرهق للغاية)، أو عبر بدائل تبعية 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
. ثم لتمكين Servo في Firefox Reality، انتقل إلى لوحة Developer Options في الإعدادات، وقم بتبديل خيار Servo. ثم سيتم إضافة زر جديد إلى شريط التنقل. سيؤدي النقر فوق هذا الزر إلى إعادة تحميل الصفحة الحالية باستخدام Servo.