近日三星推出了首款 Galaxy XR 設備,這是第一款基於 Android XR 的 Android 設備,而 Android XR 是為下一代耳機和眼鏡推出的新操作系統。

作為對標蘋果 Vision Pro 的設備, Galaxy XR 搭載的是 Android XR 系統, Android XR 基於開放標準構建,並支持 OpenXR、WebXR 和 Unity 等工具,例如可以透過 360 度支持的 VR 內容,體驗沉浸式的視頻和應用互動:

還可以使用 Circle 搜尋虛擬物件(或房間中的真實物品),從網路上獲取有關所看到的任何事物的有用信息:
還有自由調整、伸縮的應用互動,同步進行操作的視野空間,這就是 Android XR 的不同之處,支持在 AR 和 VR 之間無縫切換:

而在此基礎上,為了提供更好的開發體驗,官方提供了 Jetpack XR SDK,而基於 SDK 開發的 UI 框架也就是熟悉的 Jetpack Compose,那它有什麼特別之處?
首先,在 XR 設備上應用的展示和操作風格發生了較大改變,而 Jetpack XR SDK 的作用就是:讓開發者可以直接使用 Kotlin + Compose 進行開發,減少全新 XR 工具鏈門檻,讓持原有 2D 應用能直接在 XR 設備(尤其是 Home Space 模式)中“無修改”運行,從而降低適配成本。
什麼是 Home Space?這就需要見到 Android XR 的關鍵基本概念,首先應用程序可以運行的兩種模式:主空間和全空間:

在 Home Space 中,多個應用可以並排運行,方便用戶跨不同窗口執行多任務,從這個意義上來說,它很像在大螢幕 Android 設備上的桌面窗口:

而如果在 Full Space 中,應用沒有空間邊界,可以利用 Android XR 的完整空間功能,例如 spatial UI 和控制虛擬環境,這個情況更像是一個普通大螢幕,不需要太多的定位操作。

而實際開發過程中,應用其實往往需要適配兩種不同場景切換,這才是 XR 設備里最需要的適配場景:

具體對比為:
| Home Space | Full Space |
|---|---|
| 多個應用並行運行,可以進行多任務處理 | 一次只運行一個應用,不受空間限制,所有其他應用均被隱藏 |
| 兼容自適應的 Compose 一般不需要額外開發 | 可以在全空間中空間化現有的 Android 應用 |
| Home Space 支持系統環境,它不支持 spatial-ui、3d-content 或應用的 spatial environments(環境模擬) | 支持 spatial-ui、3d-content 、 spatial environments(環境模擬) |
| 應用程序具有受限的邊界,默認1024 x 720dp,最小尺寸 385 x 595dp,最大尺寸 2560 x 1800dp | 應用可以覆蓋 panel-depth 並具有移動和調整大小的功能 |
| 應用程序在距離用戶 1.75 米處啟動 | 應用程序可以直接打開到完整空間,Unity 、 OpenXR 和 WebXR 應用在非托管的完整空間中運行 |
而 Android XR 裡的交互,將 press、pinch 和 swipe 等熟悉的移動操作擴展為基於手勢的導航系統,例如使用食指和拇指捏合來選擇項目,這相當於在空間上點擊觸摸屏或按下滑鼠按鈕,按住捏合可以滾動、移動或調整窗口大小,以及在 2D 和 3D 空間中選擇和移動 UI 元素或物件:
用戶透過將主手的手掌向內、捏合並握住食指和拇指來導航,手向上、向下、向左或向右移動,釋放以選擇一個選項:
以上這些都是需要適配的不同之處,其他是其實還是使用 Compose 進行佈局,不同的是使用 spatial layouts 的 SpatialRows 和 SpatialColumn 之類:

還有使用 SpatialPanel 來顯示文本、按鈕和視頻等 2D 內容等,SpatialPanel 是一個 subspace composable ,而Orbiter 可以附加到 SpatialPanel 上,並與其所附加的內容一起移動,它們通常用於提供與其所附加內容相關的上下文控件,讓內容成為主要焦點,一般可以放置在內容的四個側面中的任意一個:
Subspace {
SpatialPanel(
SubspaceModifier
.height(824.dp)
.width(1400.dp)
) {
Text("I'm a panel!")
}
}

這也是 Jetpack XR SDK 提供的空間化 UI 建構工具,提供 Subspace、SpatialPanel、SpatialRow、SpatialColumn、Orbiter 等新 Compose API,用於將 UI 放置在 3D 空間、控制大小、位置、拖動、縮放、深度,最重要的是
支持當設備/模式不支持空間化(如普通手機或 Home Space)時自動降級到 2D 表示,從而提高兼容性
另外還需要支持 XR 模式管理、環境、場景控制,例如:
LocalSpatialConfiguration.current.hasXrSpatialFeature)以及切換到 Full Space 模式用一句話來總結:
Jetpack XR SDK(Compose for XR)讓你用熟悉的 Android Compose 構建跨設備的 UI,同時新增“空間化”能力(深度/3D 面板/拖動/縮放/模式切換等),從而將你的應用從二維螢幕拓展到 XR 沉浸式環境。
而從目前的情況下,這個賽道的跨平台支持很微弱,幾乎都是原生賽道,雖然目前場景不多,但是可以說是一個非常純淨的 Android 原生開發賽道了。
另外其實還有一個賽道,智能眼鏡的獨立 app ,像雷鳥,meta ai,阿里夸克ai眼鏡,rokid 等等,基本都是純原生開發,沒有用一點跨平台,估計是因為和手機平台比較強關聯,涉及各種硬體和通訊協議處理,所以基本都是原生開發,目前看來這個賽道也基本都是純原生的淨土。
只能說,目前還有這樣純淨的原生開發賽道,不多了,實際上比如笨重和昂貴的 XR 頭戴賽道,智能眼鏡雖然嚴重依賴手機支持(畢竟才 200 毫安不到還要考慮發熱),但是它整體價格和場景會更豐富,相較之下更推薦 Android 原生開發嘗試。
那麼,你對 XR 有什麼看法呢?
android-developers.googleblog.com/2025/10/bri…