# Wrapping Android XR For KMP

DevFeed: [Wrapping Android XR For KMP](<https://devfeed.tech/articles/wrapping-android-xr-for-kmp-22789.md>)

Original publisher: [Read original article](<http://androidessence.com/android-xr-kmp/>)

Author: Adam McNeilly

Published: 2024-12-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Android Essence](<https://devfeed.tech/sources/android-essence.md>)

Topics: [Android XR](<https://devfeed.tech/topics/android-xr.md>), [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>)

Tags: [android-xr](<https://devfeed.tech/tags/android-xr.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kmp](<https://devfeed.tech/tags/kmp.md>)

## AI overview

A tutorial showing how to wrap Android XR functionality for Kotlin Multiplatform projects. It defines shared XR behavior, provides an Android-specific implementation, uses expect/actual declarations for platform differences, and exposes the session through Jetpack Compose CompositionLocals.

## Source excerpt

Recently I've been finding myself immersed in Compose Multiplatform, a way to build cross platform mobile applications with Jetpack Compose UI. Of course, when Android announced their extended reality framework Android XR this week, I initially worried I wouldn't be able to try it out in my newest side projects. However, one of the biggest benefits of KMP is how seamless it is to provide platform specific functionality for your shared code. So let's do that with Android XR.