Chapter 20: Android Node
OpenClaw's Android Node brings the full gateway experience to Android phones and tablets. Whether you want to run a personal AI assistant from your Pixel or deploy an always-on Raspberry Pi-class node on an old Android device, the Android Node has you covered. This chapter covers installation, configuration, and the Android-specific features.
Why Run OpenClaw on Android?
- No server costs: Turn any Android device into a gateway node
- Old device repurposing: Use an old phone as a dedicated 24/7 AI gateway
- Privacy: On-device models with no cloud dependency
- Offline operation: Works on local networks without internet (with local models)
- Android-specific integrations: Automate with Tasker, Macrodroid, or Android Shortcuts
Installation Options
Google Play Store
Search for OpenClaw on Google Play, or use the direct link from openclaw.dev/android.
Minimum requirements:
- Android 13 or later
- 4GB RAM minimum (8GB recommended for local models)
- ARM64 processor
APK Direct Install
For devices without Google Play (rooted devices, Termux setups, custom ROMs):
# Download the APK
curl -L https://openclaw.dev/download/android/openclaw-latest.apk -o openclaw.apk
# Install (enable Unknown Sources first in Settings)
adb install openclaw.apk
Termux (Advanced)
Run OpenClaw directly in Termux without a dedicated app:
# Install Node.js in Termux
pkg install nodejs
# Install OpenClaw
npm install -g openclaw
# Start the gateway
openclaw start
This gives you full server-style OpenClaw on Android with no restrictions.
Initial Setup
1. Import Config
On first launch, the app prompts for your configuration:
- Paste JSON: Paste your
openclaw.jsondirectly - Scan QR: Use the desktop gateway's QR export feature
- Google Drive: Import from a file in your Drive
- Termux Bridge: If Termux is installed, import from the shared filesystem
2. Manage Secrets
Tap Settings โ Secrets to add environment variables. Secrets are stored in Android Keystore.
3. Grant Permissions
The app requests:
- Notifications: Required to stay responsive when backgrounded
- Storage: For local model files and logs
- Network: For API calls and channel connections
Background Operation on Android
Android's battery optimization aggressively kills background apps. Configure the gateway to survive:
Step 1: Disable Battery Optimization
Go to Settings โ Apps โ OpenClaw โ Battery โ Unrestricted. The exact path varies by manufacturer.
Or from the app: tap Settings โ Background โ Disable Battery Optimization and follow the prompts.
Step 2: Enable Foreground Service
{
"android": {
"foregroundService": true,
"notificationTitle": "OpenClaw Gateway",
"notificationText": "Gateway running โ tap to open"
}
}
A persistent notification keeps the app alive. Tap the notification to return to the app.
Step 3: Wake Lock
For polling channels (Telegram polling mode, WhatsApp Baileys), enable a wake lock to prevent the CPU from sleeping:
{
"android": {
"wakeLock": true,
"wakeLockTimeout": 0
}
}
Setting wakeLockTimeout: 0 holds the wake lock indefinitely. Use sparingly on battery-powered devices.
Running on a Dedicated Android Device
The best setup is an old Android phone plugged into power permanently, acting as a dedicated gateway:
- Enable Stay Awake While Charging in Developer Options
- Set Screen Timeout to Never
- Enable foreground service in OpenClaw
- Disable Battery Optimization for OpenClaw
- Set the display to dimmed or off (tap Settings โ Display โ Screen Saver)
This creates an always-on node with zero ongoing cost.
On-Device AI with llama.cpp
Android Node includes a bundled llama.cpp runtime for running local LLMs:
{
"agents": {
"local": {
"provider": "llama-cpp",
"model": "/storage/emulated/0/models/llama-3.2-3b.Q4_K_M.gguf",
"maxTokens": 2048,
"contextSize": 8192,
"threads": 4,
"gpuLayers": 32
}
}
}
Download compatible models from the in-app model browser. Recommended models by device tier:
| Device RAM | Recommended Model |
|---|---|
| 4GB | Llama 3.2 1B (Q4) |
| 6GB | Llama 3.2 3B (Q4) |
| 8GB | Llama 3.1 7B (Q4) |
| 12GB+ | Mistral 7B or Llama 3.1 8B |
Enable GPU acceleration if your device has a compatible Adreno or Mali GPU:
{
"gpuLayers": 32
}
Tasker Integration
OpenClaw Android exposes an intent-based API for Tasker automation:
| Intent Action | Description |
|---|---|
dev.openclaw.START | Start the gateway |
dev.openclaw.STOP | Stop the gateway |
dev.openclaw.SEND | Send a message to a workspace |
dev.openclaw.STATUS | Get current gateway status |
Example Tasker profile: when you arrive home (WiFi connected), start OpenClaw; when you leave, stop it.
Android-Specific Skills
The Android Node includes skills that leverage Android system APIs:
{
"skills": {
"android-notifications": {
"enabled": true,
"allowRead": true,
"allowDismiss": false
},
"android-contacts": {
"enabled": true,
"readOnly": true
},
"android-calendar": {
"enabled": true,
"readOnly": true
}
}
}
These skills let the agent read your notifications, look up contacts, and check your calendar โ all locally, without any data leaving the device.
Next: Chapter 21 โ Built-in Tools โ A complete reference of every tool available to agents by default, before any skills are installed.