OpenClaw for Android

Android companion node app with voice control, camera input, location, and background notifications. Connects via mDNS/NSD or manual gateway URL.

The Android app brings OpenClaw node capabilities to Android devices — connecting your phone or tablet to your Gateway as a mobile sensor and interaction point. It discovers the Gateway via mDNS/NSD on the local network or through manual URL entry, and maintains a persistent WebSocket connection via a foreground service (shown as a persistent notification) to keep the link alive. As a node, the Android app exposes Camera for on-demand photos, Location for GPS coordinates, Canvas for rendering interactive web views, Talk mode for voice conversations, and Microphone access. Your agent can invoke these capabilities through node.invoke commands, turning your Android device into eyes, ears, and a location beacon for your AI assistant. The app connects using the standard Gateway device pairing flow: discover or enter the Gateway address, initiate pairing as a node role, and approve the request on the Gateway host with 'openclaw devices approve <requestId>'. Setup Code and Manual modes are both supported, with Advanced controls for TLS, token, and password configuration when needed. Currently in preview, the Android app source code is available in the OpenClaw repository under apps/android. You can build it yourself with Java 17 and the Android SDK using './gradlew :app:assemblePlayDebug'. For cross-network setups (Gateway on a different network), Tailscale with Wide-Area Bonjour / unicast DNS-SD is the recommended approach — standard mDNS/NSD discovery doesn't cross network boundaries.

Tags: mobile, android, node

Use Cases

  • Mobile camera input — ask your agent to analyze what's in front of you by snapping a photo through the Android camera
  • Location-aware workflows — automated check-ins, travel logging, or geofenced task triggers based on your phone's GPS
  • Voice assistant on Android — use Talk mode for hands-free interaction with your OpenClaw agent
  • Remote monitoring — agent can capture device state and send notifications through the persistent connection
  • Cross-platform setup — pair an Android phone as a node alongside a macOS or Linux Gateway for a multi-device AI ecosystem

Tips

  • Add OpenClaw to Android's battery optimization exceptions (Settings → Apps → OpenClaw → Battery → Unrestricted) for reliable background connectivity
  • Use Tailscale for cross-network setups — it eliminates the need for port forwarding and works reliably with the Android app
  • For manual connection, use Advanced controls to configure TLS and authentication if your Gateway requires them
  • Verify pairing with 'openclaw nodes status' on the Gateway host after connecting
  • Use Setup Code mode for the simplest pairing experience — it handles all the discovery and authentication automatically

Known Issues & Gotchas

  • Not publicly released on Play Store yet — must build from source (apps/android in the OpenClaw repo) or sideload
  • mDNS/NSD discovery only works on the same LAN — for cross-network use, set up Tailscale with Wide-Area Bonjour / DNS-SD
  • The foreground service persistent notification cannot be dismissed — it's required by Android to keep the WebSocket connection alive
  • Android battery optimization (Doze mode) can interfere with background connectivity — add OpenClaw to battery optimization exceptions
  • Requires Java 17 and Android SDK to build from source — not a simple npm install
  • Android 13+ (API level 33) is required — older versions are not supported

Community Feedback

OpenClaw is now available as an official Community Apps template! The Android app connects as a node so OpenClaw can control your device — for mobile, it's surprisingly useful.

— Reddit r/unRAID

The foreground service notification is a bit annoying but necessary — Android will kill the WebSocket connection without it. Small price for a persistent agent connection.

— Reddit r/selfhosted

Building from source was straightforward if you have Android Studio set up. Just clone the repo, open apps/android, and build. Play Store version coming soon apparently.

— Reddit r/OpenClawInstall

Frequently Asked Questions

How do I install the Android app?

The app isn't on the Play Store yet. You can build it from source: clone the OpenClaw repo, navigate to apps/android, and run './gradlew :app:assemblePlayDebug' with Java 17 and Android SDK installed. Or sideload a pre-built APK if available.

Why does the app show a persistent notification?

Android requires a foreground service notification to keep long-running connections alive. Without it, the OS would kill the WebSocket connection to the Gateway. This is an Android platform requirement, not an OpenClaw choice.

Can I connect to my Gateway from a different network?

Yes, using Tailscale. Install Tailscale on both your Android device and Gateway host, join the same tailnet, then configure DNS-SD with a unicast domain (e.g., openclaw.internal.) for discovery. Standard mDNS won't cross networks.

Does the Android app support screen recording like the macOS app?

Currently no — the Android app supports Canvas, Camera, Location, Talk, Microphone, and Notifications. Screen recording and screen snapshot capabilities are not yet available on Android.

What Android versions are supported?

Android 13 (API level 33) and above. Older Android versions lack the required APIs for mDNS/NSD service discovery and modern permission handling.

Is the Android app open source?

Yes, the source code is in the OpenClaw repository under apps/android. It's built with Kotlin/Java and uses Gradle. You can modify, build, and sideload your own version.