XR Çalışma Zamanı

Yerel çalışma zamanımızla özel AR veya 3D oturumunuzu başlatın.
Son Güncelleme Kararlı sürüm Sürüm Adayı Beta Sürümü Alfa sürümü
30 Temmuz 2025 - - - 1.0.0-alpha05

Bağımlılıkları bildirme

XR çalışma zamanına bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

Eski

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")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Sürüm 1.0

Sürüm 1.0.0-alpha05

30 Temmuz 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü bu commit'leri içerir.

Yeni Özellikler

  • HandJointType ve TrackingState öğelerini ekleyin. (I55880, b/334645808)
  • Yapılandırma uygulamasını herkese açık hale getirin. (I95860, b/334645808)
  • Yeni SessionCreateResult ve SessionConfigureResult türleri kullanıma sunuldu. (Icb8cb, b/334645808)
  • Minimum ve maksimum köşe noktalarıyla tanımlanan, 3D uzayda eksenle hizalı bir sınırlayıcı kutuyu temsil eden yeni bir BoundingBox sınıfı ekleyin. (Ic68c5, b/423073468)

API Değişiklikleri

  • androidx.xr.scenecore.PixelDimensions adlı öğe, androidx.xr.runtime.math.IntSize2d olarak yeniden adlandırıldı ve taşındı. androidx.xr.scenecore.Dimensions adlı öğe, androidx.xr.runtime.math.FloatSize3d olarak yeniden adlandırıldı ve taşındı. androidx.xr.scenecore.PlaneType, androidx.xr.scenecore.PlaneOrientation olarak yeniden adlandırıldı. androidx.xr.scenecore.PlaneSemantic, androidx.xr.scenecore.PlaneSemanticType olarak yeniden adlandırıldı. (Ifd405, b/416456228)
  • androidx.xr.runtime.FoV sınıfı kaldırıldı. Bunun yerine androidx.xr.runtime.FieldOfView politikasını kullanın. (I9ae27)
  • Session.create için, oturumun bağlanacağı bir LifecycleOwner sağlayabilen ek bir aşırı yükleme eklendi. Kaynak sahipliği için yine de bir Etkinlik sağlanması gerektiğini ve LifecycleOwner öğesinin Etkinlik içinde kapsamlandırılması gerektiğini unutmayın. (I1690b)
  • FakeRuntimeAnchor.anchorsCreated, anchorsCreatedCount olarak yeniden adlandırıldı (I96df9, b/424441218)
  • Yapılandırma *Mode değerleri, davranışlarını yansıtacak şekilde yeniden adlandırıldı. (I6d247, b/414648065)
  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürümün kullanılması gerekir (Idb6b5, b/344563182)
  • Manifest dizeleriyle ilgili API'ler :xr:runtime:runtime konumundan :xr:runtime:runtime-manifest konumuna taşındı. Paket adı androidx.xr.runtime iken androidx.xr.runtime.manifest olarak değiştirildi. (I610ad, b/418800249)
  • Session.resume(), Session.pause() ve Session.destroy(), API yüzeyinden kaldırıldı. Oturum artık LifecycleOwner değil. Oturumun yaşam döngüsü artık Session.create() içinde iletilen Etkinliğin yaşam döngüsüne bağlı olacak. (I28a03)
  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir) (Ia8420, b/326456246)
  • Ana çalışma zamanı yapısı (:xr:runtime:runtime) yalnızca Kotlin tarzı asenkron API'ler içerir. Java geliştiriciler, uyumlu API'lere erişmek için :xr:runtime:runtime-guava kullanabilir. (I05d4a, b/426639315)
  • Ana çalışma zamanı yapıtı (:xr:runtime:runtime) yalnızca Kotlin tarzı eş zamansız API'ler içerecek. Java geliştiriciler, uyumlu API'lere erişmek için xr:runtime:runtime-rxjava3 kitaplığını kullanabilir. (I64122, b/426639775)
  • Coroutines'i :xr:runtime:runtime-guava'ya, Flow'ları :xr:runtime:runtime-rxjava3'ye taşıyın. (I60ae9)
  • Session.create ve Session.configure artık SessionCreatePermissionsNotGranted veya SessionConfigurePermissionsNotGranted değerini döndürmek yerine yeterli izin verilmediğinde SecurityException değerini döndürüyor. (I7c488, b/430651879)

Sürüm 1.0.0-alpha04

7 Mayıs 2025

androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 ve androidx.xr.runtime:runtime-testing:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Oturum artık mevcut Android yaşam döngüsü paradigmalarıyla daha fazla birlikte çalışabilirlik için androidx.lifecycle.LifecycleOwner uyguluyor.
  • Android XR için manifest dizeleri burada belirtilir ve belgelenir.
  • Sahne içeriği kullanıcının görüş alanının içine veya dışına taşındığında bunu izlemek için Spatial Visibility Callback (Mekansal Görünürlük Geri Çağırma) uzantısı yöntemleri eklendi.
  • JxrPlatformAdapter (ve ilgili tüm sınıflar) için bir taslak sürüm eklendi.
  • Oturum, SceneCore içindeki oturum yerine hem SceneCore hem de çalışma zamanında kullanılacak.
  • ActivityPose.hitTest eklendi. Bu sayede, sanal içeriklere karşı hitTest kullanılabiliyor.
  • Derleme zamanında birden fazla çalışma zamanı uygulaması belirtme özelliği artık destekleniyor. Yürütme sırasında, mevcut cihazın özelliklerine göre yalnızca biri yüklenir.
  • Yeni bileşen türü SpatialPointerComponent eklendi. Bu tür, müşterilerin işaretçi için oluşturulan simgeyi belirtmesine veya simgeyi devre dışı bırakmasına olanak tanır. Bu Bileşen şu anda yalnızca PanelEntity örneğe eklenebilir.

API Değişiklikleri

  • Yapılandırma uygulamasını herkese açık hale getirin. (I95860)
  • HandJointType ve TrackingState öğelerini ekleyin. (I55880)
  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir (Idb6b5).
  • Hand.isActive (boolean), Hand.trackingState olarak değiştirildi. OpenXR uygulaması buna göre değiştirildi.
  • Session.configure içindeki android.permission.SCENE_UNDERSTANDING izni şartı android.permission.SCENE_UNDERSTANDING_COARSE olarak değiştirildi.
  • LifecycleManager.configure uygulanır ve artık yapılandırılabilir her çalışma zamanı özelliği için bir özellik içeren Config nesnesinde iletilir.
  • Kullanılabilir çalışma zamanı özelliklerini yapılandırmak için artık Session.configure, Config ile çağrılabilir.
  • Session.create artık CoroutineDispatcher yerine CoroutineContext iletmeyi destekliyor.
  • Session.create, Jetpack XR ve/veya SceneCore için ARCore yüklemeyi destekler. En az biri sağlanmalıdır (test sürümleri mevcuttur).
  • FakePerceptionManager, Anchor.load ve Anchor.unpersist'e geçersiz bir UUID iletildiğinde AnchorInvalidUuidException oluşturur.
  • CoreState artık bir veri sınıfı değil.

Hata Düzeltmeleri

  • Çalışma zamanı ProGuard yapılandırmaları düzeltildi.

Sürüm 1.0.0-alpha03

26 Şubat 2025

androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 ve androidx.xr.runtime:runtime-testing:1.0.0-alpha03, son alfa sürümünden bu yana önemli bir değişiklik yapılmadan yayınlandı. Sürüm 1.0.0-alpha03, bu commit'leri içerir.

Sürüm 1.0.0-alpha02

12 Şubat 2025

androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 ve androidx.xr.runtime:runtime-testing:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu commit'leri içerir.

Kırılma ve davranış değişiklikleri

  • Artık OpenXR çalışma zamanı işlevleri, OpenXR kaynak sınırına ulaşıldığını bildiren bir hata koduyla karşılaştıklarında Anchor döndürmek yerine AnchorResourcesExhaustedException hata mesajını veriyor.
  • Session.create ve Session.resume için artık android.permission.HAND_TRACKING izni gerekiyor.

Yeni özellikler

  • El takibi desteği eklendi.

Hata düzeltmeleri

  • Çapa oluşturma, emülatörde çalıştırıldığında daha kararlıdır.

Sürüm 1.0.0-alpha01

12 Aralık 2024

androidx.xr.runtime:runtime-* 1.0.0-alpha01 iptal edilir.

İlk sürümdeki özellikler

Jetpack XR Runtime'ın ilk sürümü. Bu kitaplık, Jetpack XR kitaplık paketinin temel işlevlerini içerir. Özellik keşfi, yaşam döngüsü yönetimi ve yapılandırma gibi işlemler buna dahildir. Çalışma zamanı kitaplığı, yürütme platformuna bağlı olarak farklı varyasyonlar (ör. runtime-openxr veya runtime-testing) sağlar. Ayrıca bu kitaplık, Jetpack XR API yüzeyinin tamamında kullanılan Vector3 ve Matrix4 gibi temel matematiksel soyutlamalar sunar.

  • Session: İşlemin ne zaman yürütüleceğine ve genel yapılandırmaya karar verme dahil olmak üzere XR sistemi üzerinde ayrıntılı kontroller sağlar. Bu, temel sistem özelliklerinin kilidini açmak için diğer tüm API'lerde kullanacağınız tanıtıcıdır.

  • Pose: Rastgele bir koordinat sisteminde, konum ve yönlendirme ile ilişkili bir yer. Bu sınıfı, Jetpack XR ve Jetpack SceneCore için ARCore ile nesnelerin konumunu iletmek üzere kullanırsınız.

Bilinen Sorunlar

  • configure şu anda işlem yapmamaktadır. Gelecekteki sürümlerde, Session davranışını kontrol etmek için kullanabileceğiniz yeni ayarlar eklenecektir.