
Getting Started
- 5 installs
- 340 repo stars
- Updated August 3, 2026
- facebook/meta-wearables-dat-android
Sets up the Meta Wearables DAT SDK in an Android app including Maven repo, Gradle integration, AndroidManifest config, and first connection to glasses.
About
Walks through initial DAT SDK setup on Android: Maven repository, Gradle dependencies, AndroidManifest configuration, and first device connection. Android developers use it to bootstrap a new Meta Wearables integration.
- Maven repo + Gradle + manifest setup steps
- Requires Meta AI app, Developer Mode, and read:packages token
Getting Started by the numbers
- 5 all-time installs (skills.sh)
- Ranked #828 of 1,039 Mobile Development skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/facebook/meta-wearables-dat-android --skill getting-startedAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 5 |
|---|---|
| repo stars | ★ 340 |
| Last updated | August 3, 2026 |
| Repository | facebook/meta-wearables-dat-android ↗ |
What it does
Sets up the Meta Wearables DAT SDK in an Android app including Maven repo, Gradle integration, AndroidManifest config, and first connection to glasses.
Files
Getting Started with DAT SDK (Android)
Set up the Meta Wearables Device Access Toolkit in an Android app.
Prerequisites
- Android Studio Flamingo or newer
- Android 10+ test device with the Meta AI app installed
- Supported Meta glasses or MockDeviceKit for local testing
- Developer Mode enabled in the Meta AI app for development builds
- GitHub personal access token with
read:packagesscope
Step 1: Add the Maven repository
In settings.gradle.kts:
val localProperties =
Properties().apply {
val localPropertiesPath = rootDir.toPath() / "local.properties"
if (localPropertiesPath.exists()) {
load(localPropertiesPath.inputStream())
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://maven.pkg.github.com/facebook/meta-wearables-dat-android")
credentials {
username = ""
password = System.getenv("GITHUB_TOKEN") ?: localProperties.getProperty("github_token")
}
}
}
}Step 2: Declare dependencies
In libs.versions.toml:
[versions]
mwdat = "0.7.0"
[libraries]
mwdat-core = { group = "com.meta.wearable", name = "mwdat-core", version.ref = "mwdat" }
mwdat-camera = { group = "com.meta.wearable", name = "mwdat-camera", version.ref = "mwdat" }
mwdat-mockdevice = { group = "com.meta.wearable", name = "mwdat-mockdevice", version.ref = "mwdat" }In app/build.gradle.kts:
dependencies {
implementation(libs.mwdat.core)
implementation(libs.mwdat.camera)
implementation(libs.mwdat.mockdevice)
}Step 3: Configure AndroidManifest.xml
<manifest ...>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.INTERNET" />
<application ...>
<meta-data
android:name="com.meta.wearable.mwdat.APPLICATION_ID"
android:value="0" />
<activity android:name=".MainActivity" ...>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myexampleapp" />
</intent-filter>
</activity>
</application>
</manifest>Use 0 for APPLICATION_ID in Developer Mode. Replace myexampleapp with your app's URL scheme.
Step 4: Initialize the SDK
import com.meta.wearable.dat.core.Wearables
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
Wearables.initialize(this)
.onFailure { error, _ -> error("Failed to initialize DAT: ${error.description}") }
}
}Step 5: Register and create a session
import com.meta.wearable.dat.core.Wearables
import com.meta.wearable.dat.core.selectors.AutoDeviceSelector
fun connect(activity: Activity) {
Wearables.startRegistration(activity)
}
fun startSession() {
val session = Wearables.createSession(AutoDeviceSelector()).getOrElse { error ->
throw IllegalStateException(error.description)
}
session.start()
}Observe registration and available devices:
lifecycleScope.launch {
Wearables.registrationState.collect { state ->
// Update registration UI
}
}
lifecycleScope.launch {
Wearables.devices.collect { devices ->
// Update the device list
}
}Step 6: Add camera streaming
import com.meta.wearable.dat.camera.addStream
import com.meta.wearable.dat.camera.types.StreamConfiguration
import com.meta.wearable.dat.camera.types.VideoQuality
val stream = session.addStream(
StreamConfiguration(videoQuality = VideoQuality.MEDIUM, frameRate = 24),
).getOrElse { error ->
throw IllegalStateException(error.description)
}
stream.start().onFailure { error, _ ->
throw IllegalStateException(error.description)
}Next steps
- Camera Streaming — Stream capability, video frames, photo capture
- MockDevice Testing — Test without hardware
- Session Lifecycle — Handle session and stream state changes
- Permissions — Registration and permission flows
- Full Android API reference