Firefox Reality 프로젝트의 목표는 독립형 AR 및 VR 헤드셋 전용으로 모든 기능을 갖춘 브라우저를 만드는 것입니다.
#fxr:mozilla.org의 Matrix(가입 지침), Twitter @MozillaReality 및 [email protected]에서 우리를 찾을 수 있습니다.
최신 메인에서 생성된 Firefox Reality용 개발자 APK를 다운로드하세요 .
Firefox Reality는 사용자 인터페이스, 음성 검색 및 텍스트 입력에 대해 중국어(중국), 중국어(대만), 영어, 프랑스어, 독일어, 이탈리아어, 일본어, 러시아어 및 스페인어를 지원합니다. 현지화는 Mozilla의 놀라운 자원 현지화 커뮤니티에서 제공됩니다.
현지화에 대한 자세한 내용, Firefox Reality 프로젝트에서 작동하는 방법, 애플리케이션에서 현지화 가능한 텍스트를 올바르게 편집하는 방법은 현지화 위키 페이지를 참조하세요.
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
: 삼성 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 창에서 수정할 수 있습니다.
개발 애플리케이션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
사용하여 명령줄에서 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
Oculus Go에서 동영상을 녹화할 수도 있습니다.user.properties
에서 disableCrashRestart=true
설정하여 충돌 시 앱 다시 시작을 비활성화할 수 있습니다. Servo 지원으로 컴파일하려면 최상위 프로젝트 디렉터리에 user.properties
라는 파일을 만들고 enableServo=1
을 추가하세요. 그런 다음 Firefox Reality에서 서보를 활성화하려면 설정의 개발자 옵션 패널로 이동하여 서보 옵션을 전환하세요. 그러면 탐색 표시줄에 새 버튼이 추가됩니다. 해당 버튼을 클릭하면 Servo를 사용하여 현재 페이지가 다시 로드됩니다.