एक्सआर रनटाइम

हमारे नेटिव रनटाइम की मदद से, अपनी पसंद के मुताबिक एआर या 3D सेशन शुरू करें.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
25 फ़रवरी, 2026 - - - 1.0.0-alpha11

डिपेंडेंसी का एलान करना

XR रनटाइम पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

dependencies {
    implementation "androidx.xr.runtime:runtime:1.0.0-alpha11"

    // Optional dependencies for asynchronous conversions
    implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha11"
    implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha11"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha11"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha11")

    // Optional dependencies for asynchronous conversions
    implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha11")
    implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha11")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha11")
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

वर्शन 1.0

वर्शन 1.0.0-alpha11

25 फ़रवरी, 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • आंतरिक इस्तेमाल के लिए ConfigMode इंटरफ़ेस पर पाबंदी (Ibfb87)
  • androidx.xr.runtime.Config.GeospatialMode को पैकेज लेवल (Ibe682) पर ले जाया गया
  • androidx.xr.runtime.Config.FaceTrackingMode को पैकेज लेवल (Iac501) पर ले जाया गया
  • androidx.xr.runtime.Config.AnchorPersistenceMode को पैकेज लेवल पर ले जाया गया (I0360f)
  • androidx.xr.runtime.Config.DepthEstimationMode को पैकेज लेवल (I7e3e9) पर ले जाया गया
  • androidx.xr.runtime.Config.DeviceTrackingMode को पैकेज लेवल (I3aacd) पर ले जाया गया
  • androidx.xr.runtime.Config.HandTrackingMode को पैकेज लेवल (I658f3) पर ले जाया गया
  • androidx.xr.runtime.Config.PlaneTrackingMode को पैकेज लेवल पर ले जाया गया (Ia251b)
  • androidx.xr.runtime.XrDevice.DisplayBlendMode को पैकेज लेवल (I6f333) पर ले जाया गया
  • कॉन्टेक्स्ट, सेशन, और CoroutineContext का इस्तेमाल करके XrDevice बनाने के लिए, फ़ैक्ट्री मेथड जोड़ा गया. (I139c5)
  • प्लैटफ़ॉर्म पर उपलब्ध Android XR के रनटाइम वर्शन के बारे में क्वेरी करने के लिए, SpatialApiVersionHelper जोड़ा गया. (I7c53c)
  • xr:runtime:runtime-openxr मॉड्यूल जोड़ा गया (Ib42ea)

वर्शन 1.0.0-alpha10

28 जनवरी, 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ConfigMode.HeadTrackingMode को ConfigMode.DeviceTrackingMode से बदल दिया जाता है. (le273e, b/467150206)
  • Quaternion के toNormalized, times(float), div(float) तरीकों को हटाया गया. ये तरीके काम के नहीं हैं, क्योंकि कंस्ट्रक्शन के समय सभी क्वाटर्नियन को सामान्य किया जाता है. साथ ही, क्लास में बदलाव नहीं किया जा सकता. (l558fc, b/460210457)

गड़बड़ियां ठीक की गईं

  • Session.create में एक दस्तावेज़ जोड़ा गया है. इसमें बताया गया है कि ऐप्लिकेशन की मुख्य थ्रेड पर सेशन बनाने से कैसे बचें. (le5554, b/463687170)
  • इस कुकी का इस्तेमाल, ऐप्लिकेशन को NaN वैल्यू के साथ BoundingBox बनाने से रोकने के लिए किया जाता है. (l58c14, b/464025895)

वर्शन 1.0.0-alpha09

03 दिसंबर, 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-alpha08

19 नवंबर, 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • डिवाइस की सुविधाओं के बारे में जानकारी देने के लिए XrDevice जोड़ा गया. (Ic9d1f)
  • सेशन की क्षमताओं के बारे में क्वेरी करने के लिए, नया ConfigMode.isSupported एपीआई जोड़ा गया है. (Iff7af)
  • XrDisplay.BlendMode एपीआई जोड़ा गया. (I484e4)

एपीआई में हुए बदलाव

  • [XrDevice.getPreferredBlendMode] का नाम बदलकर [XrDevice.getPreferredDisplayBlendMode] कर दिया गया है. (I7e48f)

वर्शन 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)
  • Config *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 एनोटेशन का इस्तेमाल करती है. ये एनोटेशन, टाइप-यूज़ होते हैं. 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 के व्यवहार को कंट्रोल किया जा सकेगा.