OpenClaw for Android
Android companion node app with voice control, camera input, location, and background notifications. Connects via mDNS/NSD or manual gateway URL.
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.