เป้าหมายของโครงการ Firefox Reality คือการสร้างเบราว์เซอร์ที่มีคุณสมบัติครบถ้วนสำหรับชุดหูฟัง AR และ VR แบบสแตนด์อโลน โดยเฉพาะ
พบกับเราได้ใน #fxr:mozilla.org บน Matrix (คำแนะนำสำหรับการเข้าร่วม), Twitter @MozillaReality และที่ [email protected]
ดาวน์โหลด APK สำหรับนักพัฒนาซอฟต์แวร์สำหรับ Firefox Reality ที่สร้างจากหลักล่าสุด
Firefox Reality รองรับภาษาจีน (จีน) จีน (ไต้หวัน) อังกฤษ ฝรั่งเศส เยอรมัน อิตาลี ญี่ปุ่น รัสเซีย และสเปนสำหรับอินเทอร์เฟซผู้ใช้ การค้นหาด้วยเสียง และการป้อนข้อความ การแปลเป็นภาษาท้องถิ่นจัดทำโดยชุมชนอาสาสมัครท้องถิ่นที่น่าทึ่งของ Mozilla
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแปล วิธีการทำงานในโครงการ Firefox Reality และวิธีการแก้ไขข้อความที่แปลเป็นภาษาท้องถิ่นในแอปพลิเคชันได้อย่างถูกต้อง โปรดดูหน้าวิกิการแปลเป็นภาษาท้องถิ่น
โคลน FirefoxReality
git clone [email protected]:MozillaReality/FirefoxReality.git
cd FirefoxReality
โคลน repo ของบุคคลที่สาม
หากคุณกำลังพัฒนาสำหรับ Oculus, Snapdragon VR หรือ VIVE คุณจะต้องโคลน repo ด้วยไฟล์ SDK ของบริษัทอื่น
git clone [email protected]:MozillaReality/FirefoxReality-android-third-party.git third_party
Repo นี้ใช้ได้เฉพาะกับพนักงาน Mozilla เท่านั้น หากคุณมีสิทธิ์เข้าถึง SDK ที่เกี่ยวข้องแต่ไม่ใช่ที่เก็บนี้ คุณสามารถวาง SDK เหล่านั้นด้วยตนเองได้ที่นี่:
third_party/ovr_mobile/
สำหรับ Oculus (ควรมีโฟลเดอร์ VrApi
)third_party/wavesdk/
สำหรับ Vive (ควรมีโฟลเดอร์ build
และอื่นๆ) repo ใน 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 ที่เกี่ยวข้องซึ่งไม่รวมอยู่ใน Repo นี้
เวอร์ชันบรรทัดคำสั่งของ 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 ก่อนที่จะสร้างโปรเจ็กต์
คุณอาจสนใจที่จะสร้างโปรเจ็กต์นี้โดยเทียบกับการอ้างอิงบางเวอร์ชันในเครื่อง ซึ่งสามารถทำได้โดยใช้พื้นที่เก็บข้อมูล 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 เพื่อติดตั้งทั้งรุ่น dev และรุ่นที่ใช้งานจริงพร้อมกันได้ คุณเพียงแค่ต้องเพิ่มคุณสมบัตินี้ลงในไฟล์ user.properties
ของคุณ:
simultaneousDevProduction =true
รุ่นโลคัลมีประโยชน์ในการวัดประสิทธิภาพหรือปัญหาการแก้ปัญหาที่เกิดขึ้นในรุ่นรุ่นเท่านั้น แทนที่จะต้องจัดการกับ Release Key คุณสามารถทำให้การทดสอบง่ายขึ้น เพียงเพิ่มคุณสมบัตินี้ลงในไฟล์ 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
เพื่อปิดใช้งานการเปิดแอปใหม่เมื่อเกิดข้อขัดข้อง หากต้องการคอมไพล์ด้วยการสนับสนุนของเซอร์โว ให้สร้างไฟล์ชื่อ user.properties
ในไดเร็กทอรีโปรเจ็กต์ระดับบนสุด และเพิ่ม enableServo=1
จากนั้นเพื่อเปิดใช้งานเซอร์โวใน Firefox Reality ให้ไปที่แผงตัวเลือกนักพัฒนาในการตั้งค่า และสลับตัวเลือกเซอร์โว จากนั้นปุ่มใหม่จะถูกเพิ่มลงในแถบนำทาง การคลิกปุ่มนั้นจะโหลดหน้าปัจจุบันใหม่ด้วยเซอร์โว