はじめに
2024年の12月にGoogleから「Android XR」と呼ばれるXRデバイス用のプラットフォームが発表されました。GoogleからのXRプラットフォームの登場により、さらにXRデバイスへの期待が高まっています。
そこで本記事では、前編と後編に分けてエンジニアとして知っておきたい「Android XRの基礎知識」と「Android XR向けサンプルアプリの作成」について解説します。
前編(基礎知識編)では発表されている情報をもとにAndroid XRの基礎知識や現在地について、後編(アプリ作成編)ではJetpack XR SDKを使用してAndroid XR向けのサンプルアプリ作成について解説する予定です。
Android XRの基礎知識とアプリ開発方法について知りたい方はぜひ一読していただければと思います。
Android XRとは?
Android XRとはヘッドセットやグラスなどのXRデバイス用のOSです。スマートフォンにおけるAndroid OSのようなイメージで、今後様々なメーカーがAndroid XRを搭載したデバイスを発売していくことが予想されます。
2025年にはSamusungからAndroid XRを搭載した「Project Moohan」と呼ばれるヘッドセット型のデバイスが発売予定となっています。また、ARグラスを手がけるXREALもAndroid XRのパートナーとなっており、グラス型のデバイスの発売も予想されています。
Android XRの特徴
他のXRデバイスやOSと比較して、Android XRならではの特徴があります。
1. Google Play Storeのアプリが使用可能
Vision OSがiPadやiPhone向けのアプリに対応しているのと同様に、Android XRでもGoogle Play Storeで公開されているAndroidアプリを利用することが可能です。*1
*1: NFCなどハードウェアに関連した一部の機能を必要とするアプリはAndroid XR用のストアでは非表示となります。
詳細: App manifest compatibility considerations for mobile and large screen apps
既存のAndroidアプリ資産を活用することで、コンテンツ不足に悩まされることなく充実したXR体験ができることが予想されます。ただし、よりXRフレンドリーなアプリを作るには、後述の大画面表示への対応やXR独自の機能を提供する必要があります。
2. AIの活用
Android XRの公式ページに以下のように紹介があるように、AIとの連携が重視されています。
Android XR is an AI-powered operating system coming soon to headsets and glasses.
AIを活用した機能として、例えば以下のような機能があります。
Gemini(AIアシスタント)との連携
会話を通じて、デバイスのコンテンツを操作したり、表示されている内容やデバイス越しに見える現実世界について、さまざまな情報を得たりすることができます。
リアルタイム翻訳
デバイス越しに見える現実世界の文字を翻訳して表示したり、会話している相手の音声をリアルタイムで翻訳することができます。
かこって検索
スマートフォンでも利用可能な、かこって検索の機能がAndroid XRでも使用できます。視界に入っているものを囲むジェスチャーをすることで、それについての情報を検索することができます。
Project Astraとの連携
Prject Astraと呼ばれるAIアシスタントとの連携も視野に入っており、今後グラス型のデバイスへの展開が期待されています。*2
*2:Project AstraはGoogle DeepMindのプロジェクトであり、マルチモーダルな入力(音声、視覚情報など)や過去のやり取りの記憶を処理して、タスクを実行をする次世代のAIアシスタントの開発を目指すプロジェクトです。
GoogleのYouTube動画を見るとどういう未来を想像しているのかわかると思います。めちゃくちゃ未来を感じられるので一度見ておくことをおすすめします。
Android XRのスペースについて
ここからは少し開発寄りの解説をしていきます。
開発に関する前提知識として「スペース」について解説します。
Android XRではスペースと呼ばれる場所でアプリが実行されます。 スペースには「ホームスペース」と「フルスペース」の2種類があります。*3
*3:解説に利用するイメージは、公式ドキュメントの以下より引用。
https://developer.android.com/design/ui/xr/guides/foundations
ホームスペース

ホームスペースは、図のように複数のアプリを並べて操作できるモードです。 既存のAndoridアプリはこのホームモードで動作し、ユーザは制限の範囲内でアプリの画面サイズを自由に変えることができます。
フルスペースモード

フルスペースモードは、図のように1つのアプリが全体を占有するようなモードです。 3Dモデル等を使用して360度の没入感のある体験を提供することができます。 このモードで既存のAndroidアプリを実行するには、後述のJetpack XR SDKを用いた、Spatialize(空間化)対応の実装が必要になります。
Android XR向けアプリの開発手法
Jetpack XR SDKを使用することでAndroid XR向けのアプリを開発することができます。
Jetpack XR SDKは、AndroidアプリをSpatializeするためのライブラリが含まれているSDKになります。 AndroidアプリをフルスペースモードでXRデバイスの特徴を活かしたアプリを提供したい場合は、このSDKを用いて開発をする必要があります。
Jetpack Compose for XRと呼ばれるXR向けのUIをComposeで書くためのライブラリや、Material Design for XRと呼ばれるXR向けのガイドラインに沿ったUIコンポーネントライブラリなどが含まれます。
詳細は割愛しますが、その他にも、Unity、 OpenXR、 WebXRを使用して開発することができます。
既存アプリのXR対応について
既存のAndroidアプリはAndroid XR上でも動作しますが、XRへの対応状況によって以下の3段階に分類されます。*4
*4:動作イメージは、公式ドキュメントの以下より引用。
https://developer.android.com/develop/xr
XR compatible mobile app(XR対応モバイルアプリ)
.png)
XR compatible mobile appは、大画面対応されていないAndroidアプリになります。基本的にはモバイル端末での使用を想定したアプリなので、XRの広い空間を有効活用しづらくなります。
XR compatible large screen app(XR対応大画面アプリ)
.png)
XR compatible large screen appは、モバイルに加えてさまざまな画面サイズに対応したアプリになります。例えば、タブレットやFoldable対応がなされているアプリはこちらに分類されます。
パネルのサイズを自由に調整することができ、レイアウトも崩れないため、XRの広い空間を有効活用してより良いユーザー体験を提供することができます。
XR differentiated app(XRに差別化されたアプリ)
.png)
XR differentiated appは、XRならではの機能を提供するアプリです。3Dモデルなどを使用し、XRデバイスの特徴を最大限に活かした、没入感の高いユーザ体験を提供することができます。
XR体験をより良くするためにも、最低限、最後に紹介したXR compatible large screen app(XR対応大画面アプリ)に対応できると良いかなと思います。
まとめ
本記事では、エンジニアとして知っておきたい「Android XR入門」の基礎知識編として、Android XRの基礎知識について解説しました。
次の記事では、Jetpack XR SDKを使用して簡単なサンプルアプリを作成する方法について解説する予定です。お楽しみに!
いかがでしたか?
最新技術の情報を分かりやすいようにまとめてくれていますよね。記事の内容や公式ドキュメントに書かれているさらに詳しい内容について気になることがあれば、TechTrainの面談からYusukeさんに質問も可能です!
みなさんの「記事、読みました!」の声がメンターにとっても運営にとっても励みになります。読んだ方は感想などを伝えてもらえたらとても嬉しいです。
メンター執筆シリーズについて
メンター執筆シリーズはこれからも定期的に配信中。
次回はいよいよYusukeさんからXR Androidのサンプルアプリをつくる実践編。基礎知識編を繰り返し読んで準備しながら、次の記事の公開を楽しみにお待ちください!