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

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

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

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

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

ग्रूवी

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

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

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

Kotlin

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

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

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

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

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

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

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

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

वर्शन 1.0

वर्शन 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 दिखाते हैं. ये फ़ंक्शन, 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 के व्यवहार को कंट्रोल किया जा सकेगा.