एक्सआर रनटाइम
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 22 अक्टूबर, 2025 | - | - | - | 1.0.0-alpha07 |
डिपेंडेंसी का एलान करना
XR रनटाइम पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.0
वर्शन 1.0.0-alpha07
22 अक्टूबर, 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
SessionConfigureConfigureNotSupportedको हटाएं और उसकी जगहUnsupportedOperationExceptionको जोड़ें. (I7680f)
वर्शन 1.0.0-alpha06
24 सितंबर, 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
HandJointTypeकोxr:runtime:runtimeसेxr:arcore:arcoreमें ले जाया गया है. (Iadb9c, b/409058039)Vector2,Vector3, औरVector4के लिएcomponentWiseMultiplicationके टाइम्स ऑपरेटर को बदलकर, उसे स्केल किया गया है. साथ ही, अन्य गणित लाइब्रेरी के साथ एक जैसा बनाए रखने के लिए, ऑपरेटर के सिंबल को हटाया गया है. साथ ही,Vector.scale(otherVector.inverse())का इस्तेमाल करने के बजाय, Vector क्लास सेcomponentWiseDivisionको हटाया जा रहा है. (I8e1f6, b/399146447)- स्केल को एक पर सेट करने के लिए, [unscaled] को जोड़ा जाता है. (I6381d, b/434928658)
:xr:runtime:runtime-guavaको हटा दिया जाएगा, क्योंकिCoroutines.ktकी जगहSuspendtoFutureAdapterका इस्तेमाल किया जा रहा है. (I0cd3c, b/406597902)
वर्शन 1.0.0-alpha05
30 जुलाई, 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
HandJointTypeऔरTrackingStateजोड़ें. (I55880, b/334645808)- कॉन्फ़िगरेशन लागू करने की सुविधा को सार्वजनिक करें. (I95860, b/334645808)
SessionCreateResultऔरSessionConfigureResultके नए टाइप जोड़े गए. (Icb8cb, b/334645808)- एक नई
BoundingBoxक्लास जोड़ें. यह 3D स्पेस में, ऐक्सिस के साथ अलाइन किए गए बाउंडिंग बॉक्स को दिखाती है. इसे इसके सबसे कम और सबसे ज़्यादा कॉर्नर पॉइंट से तय किया जाता है. (Ic68c5, b/423073468)
एपीआई में हुए बदलाव
androidx.xr.scenecore.PixelDimensionsका नाम बदलकरandroidx.xr.runtime.math.IntSize2dकिया गया और इसे यहां ले जाया गया.androidx.xr.scenecore.Dimensionsका नाम बदलकरandroidx.xr.runtime.math.FloatSize3dकिया गया और इसे यहां ले जाया गया.androidx.xr.scenecore.PlaneTypeका नाम बदलकरandroidx.xr.scenecore.PlaneOrientationकर दिया गया.androidx.xr.scenecore.PlaneSemanticका नाम बदलकरandroidx.xr.scenecore.PlaneSemanticTypeकर दिया गया. (Ifd405, b/416456228)androidx.xr.runtime.FoVक्लास हटा दी गई है. इसके बजाय,androidx.xr.runtime.FieldOfViewका इस्तेमाल करें. (I9ae27)Session.createके लिए एक और ओवरलोड जोड़ा गया है. इससे सेशन को अटैच करने के लिएLifecycleOwnerमिल सकता है. ध्यान दें कि संसाधन के मालिकाना हक के लिए, अब भी ऐक्टिविटी की जानकारी देनी होगी. साथ ही,LifecycleOwnerको ऐक्टिविटी के दायरे में होना चाहिए. (I1690b)FakeRuntimeAnchor.anchorsCreatedका नाम बदलकरanchorsCreatedCountकिया गया (I96df9, b/424441218)- कॉन्फ़िगरेशन
*Modeवैल्यू के नाम बदल दिए गए हैं, ताकि उनके काम करने के तरीके के बारे में पता चल सके. (I6d247, b/414648065) - Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन का इस्तेमाल करना ज़रूरी है (Idb6b5, b/344563182)
- मेनिफ़ेस्ट स्ट्रिंग से जुड़े एपीआई को
:xr:runtime:runtimeसे:xr:runtime:runtime-manifestमें ले जाया गया है. पैकेज का नामandroidx.xr.runtimeसे बदलकरandroidx.xr.runtime.manifestकर दिया गया है. (I610ad, b/418800249) Session.resume(),Session.pause(), औरSession.destroy()को एपीआई की सतह से हटा दिया गया है. सेशन अबLifecycleOwnerनहीं है. अब सेशन की लाइफ़साइकल,Session.create()में पास की गई ऐक्टिविटी की लाइफ़साइकल से अटैच हो जाएगी. (I28a03)- यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल लागू करने के लिए, कंपाइलर के इस आर्ग्युमेंट का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से उपलब्ध है) (Ia8420, b/326456246) - मुख्य रनटाइम आर्टफ़ैक्ट (
:xr:runtime:runtime) में सिर्फ़ Kotlin-स्टाइल वाले एसिंक्रोनस एपीआई शामिल होंगे. Java डेवलपर,:xr:runtime:runtime-guavaपर भरोसा कर सकते हैं, ताकि वे काम करने वाले एपीआई को ऐक्सेस कर सकें. (I05d4a, b/426639315) - मुख्य रनटाइम आर्टफ़ैक्ट (
:xr:runtime:runtime) में सिर्फ़ Kotlin-स्टाइल वाले एसिंक्रोनस एपीआई शामिल होंगे. Java डेवलपर,xr:runtime:runtime-rxjava3लाइब्रेरी पर भरोसा करके, इसके साथ काम करने वाले एपीआई को ऐक्सेस कर सकते हैं. (I64122, b/426639775) - कोरूटीन को
:xr:runtime:runtime-guavaऔर फ़्लो को:xr:runtime:runtime-rxjava3में ले जाएं. (I60ae9) Session.createऔरSession.configureअब ज़रूरी अनुमतियां न मिलने पर,SessionCreatePermissionsNotGrantedयाSessionConfigurePermissionsNotGrantedके बजायSecurityExceptionदिखाता है. (I7c488, b/430651879)
वर्शन 1.0.0-alpha04
7 मई, 2025
androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04, और androidx.xr.runtime:runtime-testing:1.0.0-alpha04 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- सेशन अब
androidx.lifecycle.LifecycleOwnerलागू करता है, ताकि Android के मौजूदा लाइफ़साइकल पैराडाइम के साथ ज़्यादा इंटरऑपरेबिलिटी हो सके. - Android XR के लिए मेनिफ़ेस्ट स्ट्रिंग यहां दी गई हैं और इनके बारे में बताया गया है.
- स्पेशल विज़िबिलिटी कॉलबैक एक्सटेंशन के तरीके जोड़े गए हैं. इनसे यह मॉनिटर किया जाता है कि सीन का कॉन्टेंट, उपयोगकर्ता के फ़ील्ड ऑफ़ व्यू में कब दिखता है और कब नहीं.
JxrPlatformAdapterऔर इससे जुड़ी सभी क्लास का स्टब वर्शन जोड़ा गया.- सेशन का इस्तेमाल
SceneCoreऔर रनटाइम, दोनों में किया जाएगा. हालांकि,SceneCoreमें सेशन का इस्तेमाल नहीं किया जाएगा. ActivityPose.hitTestको जोड़ा गया है. इससे वर्चुअल कॉन्टेंट के ख़िलाफ़hitTestको चालू किया जा सकेगा.- अब कंपाइल टाइम में, एक से ज़्यादा Runtime लागू करने की सुविधा उपलब्ध है. डिवाइस की मौजूदा सुविधाओं के सेट के आधार पर, सिर्फ़ एक को एक्ज़ीक्यूशन के समय लोड किया जाएगा.
- नया कॉम्पोनेंट टाइप
SpatialPointerComponentजोड़ा गया है. इससे क्लाइंट, पॉइंटर के लिए रेंडर किया गया आइकॉन तय कर सकते हैं या आइकॉन को बंद कर सकते हैं. फ़िलहाल, इस कॉम्पोनेंट को सिर्फ़PanelEntityइंस्टेंस से जोड़ा जा सकता है.
एपीआई में हुए बदलाव
- कॉन्फ़िगरेशन लागू करने की सुविधा को सार्वजनिक करें. (I95860)
HandJointTypeऔरTrackingStateजोड़ें. (I55880)- Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन का इस्तेमाल करना ज़रूरी है (Idb6b5)
Hand.isActive (boolean)को बदलकरHand.trackingStateकर दिया गया है. इसलिए,OpenXRको लागू करने के तरीके में बदलाव किया गया है.Session.configureमेंandroid.permission.SCENE_UNDERSTANDINGकी अनुमति पाने की ज़रूरी शर्त को बदलकरandroid.permission.SCENE_UNDERSTANDING_COARSEकर दिया गया है.LifecycleManager.configureलागू किया गया है और अब यहConfigऑब्जेक्ट में पास होता है. इस ऑब्जेक्ट में, कॉन्फ़िगर की जा सकने वाली हर रनटाइम सुविधा के लिए एक प्रॉपर्टी होती है.- अब
Session.configureकोConfigके साथ कॉल किया जा सकता है, ताकि उपलब्ध रनटाइम सुविधाओं को कॉन्फ़िगर किया जा सके. Session.createअबCoroutineDispatcherके बजायCoroutineContextको पास करने की सुविधा देता है.Session.create, Jetpack XR और/याSceneCoreके लिएARCoreको लोड करने की सुविधा देता है. कम से कम एक वर्शन देना ज़रूरी है. हालांकि, टेस्टिंग वर्शन उपलब्ध हैं.- अगर
Anchor.loadऔरAnchor.unpersistको अमान्य UUID पास किया जाता है, तोFakePerceptionManager,AnchorInvalidUuidExceptionदिखाता है. CoreStateअब डेटा क्लास नहीं है.
गड़बड़ियां ठीक की गईं
- रनटाइम ProGuard कॉन्फ़िगरेशन ठीक किए गए.
वर्शन 1.0.0-alpha03
26 फ़रवरी, 2025
androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03, और androidx.xr.runtime:runtime-testing:1.0.0-alpha03 को पिछले ऐल्फ़ा वर्शन के बाद से बिना किसी खास बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha02
12 फ़रवरी, 2025
androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02, और androidx.xr.runtime:runtime-testing:1.0.0-alpha02 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
नियमों का उल्लंघन और व्यवहार में बदलाव
OpenXRरनटाइम फ़ंक्शन, अबAnchorResourcesExhaustedExceptionदिखाते हैं. ये फ़ंक्शन, Anchor ऑब्जेक्ट दिखाते हैं. ऐसा तब होता है, जब उन्हें कोई ऐसा गड़बड़ी कोड मिलता है जिससे पता चलता है किOpenXRसंसाधन की सीमा पूरी हो गई है.Session.createऔरSession.resumeके लिए, अबandroid.permission.HAND_TRACKINGकी अनुमति ज़रूरी है.
नई सुविधाएं
- हाथों को ट्रैक करने की सुविधा जोड़ी गई.
गड़बड़ियां ठीक की गईं
- एम्युलेटर पर ऐंकर बनाने की सुविधा ज़्यादा बेहतर तरीके से काम करती है
वर्शन 1.0.0-alpha01
12 दिसंबर, 2024
androidx.xr.runtime:runtime-* 1.0.0-alpha01 रिलीज़ हो गया है.
शुरुआती रिलीज़ की सुविधाएं
Jetpack XR Runtime की शुरुआती रिलीज़. इस लाइब्रेरी में, Jetpack XR सुइट की लाइब्रेरी के लिए बुनियादी सुविधाएं शामिल हैं. इसमें क्षमता का पता लगाना, लाइफ़साइकल मैनेजमेंट, कॉन्फ़िगरेशन वगैरह शामिल है. एक्ज़ीक्यूशन प्लैटफ़ॉर्म के आधार पर, रनटाइम लाइब्रेरी अलग-अलग वर्शन (जैसे, runtime-openxr या runtime-testing) उपलब्ध कराती है. इसके अलावा, यह लाइब्रेरी बुनियादी गणित के ऐब्स्ट्रैक्शन भी उपलब्ध कराती है. जैसे, Vector3 और Matrix4. इनका इस्तेमाल, पूरे Jetpack XR API में किया जाता है.
Session: इससे आपको एक्सआर सिस्टम पर ज़्यादा कंट्रोल मिलता है. जैसे, यह तय करना कि प्रोसेसिंग कब की जा रही है और कब नहीं. साथ ही, इससे आपको पूरे कॉन्फ़िगरेशन पर कंट्रोल मिलता है. यह वह हैंडल भी है जिसका इस्तेमाल, सिस्टम की बुनियादी सुविधाओं को अनलॉक करने के लिए अन्य सभी एपीआई में किया जाएगा.Pose: यह किसी भी कोऑर्डिनेट सिस्टम में मौजूद ऐसी जगह होती है जिसकी पोज़िशन और ओरिएंटेशन उससे जुड़ा होता है. इस क्लास का इस्तेमाल, Jetpack XR और Jetpack SceneCore के लिए ARCore के साथ ऑब्जेक्ट की जगह की जानकारी शेयर करने के लिए किया जाएगा.
ऐसी समस्याएं जिनके बारे में जानकारी पहले से है
- फ़िलहाल,
configureकोई कार्रवाई नहीं करता है. आने वाले समय में, नई रिलीज़ में ऐसी नई सेटिंग जोड़ी जाएंगी जिनका इस्तेमाल करके,Sessionके व्यवहार को कंट्रोल किया जा सकेगा.