एक्सआर रनटाइम
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा वर्शन |
---|---|---|---|---|
30 जुलाई, 2025 | - | - | - | 1.0.0-alpha05 |
डिपेंडेंसी का एलान करना
XR रनटाइम पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha05" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha05") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. कृपया नई लाइब्रेरी बनाने से पहले, इस लाइब्रेरी में मौजूद मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.0
वर्शन 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
गड़बड़ी का मैसेज दिखाएंगे. ये फ़ंक्शन, ऐंकर ऑब्जेक्ट दिखाते हैं. ऐसा तब होगा, जब उन्हें कोई ऐसा गड़बड़ी कोड मिलेगा जिससे पता चलेगा कि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
के व्यवहार को कंट्रोल किया जा सकेगा.