OpenClaw Android v2026.9.14
Standalone Android app, no Termux required.
If setup failed for you on a recent version, please try again. The previously published APKs were missing one of
proot's required libraries, so setup could not complete at all on a fresh install. That is fixed in this release.
Setup was broken, and is fixed
proot declares Depends: libandroid-shmem, libtalloc, but the script that bundles the proot binaries into the APK only fetched libtalloc. Every published APK therefore shipped a proot binary the Android dynamic linker refused to load:
CANNOT LINK EXECUTABLE ... library "libandroid-shmem.so" not found
Nothing downstream could run: no rootfs configuration, no Node.js, no OpenClaw. CI now fails rather than publishing an APK with incomplete proot libraries.
Fixed
| #124 | Custom gateway port is honoured. 18789 was hard-coded in eight places, so setting gateway.port left the app probing the wrong address and eventually declaring a healthy gateway dead
|
| #81, #95 | Node device commands are actually authorised. The app wrote gateway.nodes.allowCommands, which OpenClaw does not read. Camera, screen recording and the other classified commands were never really enabled
|
| #125 | Setup no longer looks frozen. Long repairs ran inline on the splash screen behind a static spinner, with no progress and no foreground service, so Android could kill the app mid-install |
| #133 | OpenClaw install no longer fails with ENOTEMPTY after an interrupted attempt, and Node.js moves to 22.23.2 to satisfy undici
|
| #78 | Gateway token is always generated, so the dashboard opens connected instead of prompting for a token, and the node presents the same credential |
| #107 | SSH documented properly, and sshd now refuses to start without a root password instead of exposing an open port |
| #99 | npm package no longer lags the repo. The CLI version is read from package.json and publishing is automated
|
New
- Ollama support (#117) for local, LAN and Ollama Cloud models, with no API key needed. Note the base URL must not include
/v1; the app strips it if you paste one, because that path breaks tool calling. - Editable provider base URL, with an optional API key for local runtimes.
Faster
- The Node.js download now runs in parallel with
aptinstead of after it. python3,makeandg++(several hundred MB, plus a slow dpkg run under proot) are no longer installed up front. They are fetched only if npm actually needs to compile a native addon.aptno longer downloads translation indexes, and npm skips its audit and funding round-trips.- The gateway log view was quadratic: every log line copied the whole buffer and rebuilt the UI. It is now a ring buffer with a coalesced flush.
Security
- The node Ed25519 private key and the gateway auth token were being included in Android cloud backup and device transfer. They are now excluded.
- Settings snapshots no longer write tokens to shared storage.
- Pairing codes from the gateway are validated before being used in a shell command.
Downloads
| File | Description |
|---|---|
OpenClaw-v2026.9.14-arm64-v8a.apk
| Most modern Android phones (recommended) |
OpenClaw-v2026.9.14-armeabi-v7a.apk
| Older 32-bit ARM devices |
OpenClaw-v2026.9.14-x86_64.apk
| Emulators / x86 devices |
OpenClaw-v2026.9.14-universal.apk
| All architectures (larger) |
OpenClaw-v2026.9.14.aab
| Android App Bundle (Play Store) |
First run
- Install the APK.
- Follow the setup wizard. It downloads roughly 500MB (Ubuntu rootfs plus Node.js), so use a stable connection.
- Configure your API keys in Onboarding, or add a provider under AI Providers.
- Tap Start Gateway on the dashboard.
- Open the tokenised dashboard URL shown on the dashboard card, or tap Web Dashboard. The gateway listens on port 18789 by default, or whatever you set as
gateway.port.
Upgrading from an earlier version keeps your rootfs and config. Install over the top; do not uninstall first, or you will lose the environment and your settings.
Requirements
- Android 10 or higher (API 29)
- Roughly 500MB free storage for the initial setup
- An internet connection for first-time setup
- Battery optimisation disabled for the app, or Android will kill the gateway in the background
Verified
Built and installed on a device (Android 15, arm64): setup completed through the full proot to Node.js to OpenClaw path, the gateway came up listening on 127.0.0.1:18789, the tokenised dashboard URL was present, and the node reported "Connected to gateway".
Full detail in CHANGELOG.md and #147.