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

हमारे नेटिव रनटाइम की मदद से, अपनी पसंद के मुताबिक एआर या 3D सेशन शुरू करें.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा वर्शन
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 के व्यवहार को कंट्रोल किया जा सकेगा.