Skip to content

Running on Android

AgentZero runs as a CLI binary on Android — it is not a native Android app. The recommended environment is Termux, a terminal emulator that provides a full Linux environment on your phone or tablet.

TargetAndroid VersionDevices
aarch64 (ARM64)Android 5.0+ (API 21+)Modern 64-bit phones and tablets
armv7 (32-bit ARM)Android 4.1+ (API 16+)Older 32-bit devices

Download from F-Droid (recommended) or GitHub releases.

Terminal window
uname -m
# aarch64 = 64-bit (most modern phones)
# armv7l or armv8l = 32-bit
Terminal window
# For 64-bit (aarch64) — most devices:
curl -LO https://github.com/auser/agentzero/releases/latest/download/agentzero-linux-aarch64
chmod +x agentzero-linux-aarch64
mv agentzero-linux-aarch64 $PREFIX/bin/agentzero
# For 32-bit (armv7):
curl -LO https://github.com/auser/agentzero/releases/latest/download/agentzero-linux-armv7
chmod +x agentzero-linux-armv7
mv agentzero-linux-armv7 $PREFIX/bin/agentzero
Terminal window
agentzero --version
agentzero onboard

The install script auto-detects your architecture:

Terminal window
curl -fsSL https://raw.githubusercontent.com/auser/agentzero/main/scripts/install.sh | bash

For the latest code or when pre-built binaries are unavailable:

Terminal window
# Install build dependencies
pkg update && pkg install rust git
# Clone and build
git clone https://github.com/auser/agentzero.git
cd agentzero
cargo build -p agentzero --release
# Install
cp target/release/agentzero $PREFIX/bin/

For constrained devices with limited storage or RAM, build with minimal features:

Terminal window
cargo build -p agentzero --release --no-default-features --features memory-sqlite

This produces a smaller binary (~15 MB) with just CLI + local SQLite storage, skipping optional subsystems like RAG, hardware peripherals, and extra communication channels.

Build on your development machine and push to the device.

Terminal window
# Add Android targets
rustup target add aarch64-linux-android armv7-linux-androideabi
# Set NDK path
export ANDROID_NDK_HOME=/path/to/android-ndk
export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
Terminal window
# 64-bit (aarch64)
cargo build -p agentzero --release --target aarch64-linux-android
# 32-bit (armv7)
cargo build -p agentzero --release --target armv7-linux-androideabi
Terminal window
adb push target/aarch64-linux-android/release/agentzero /data/local/tmp/
adb shell chmod +x /data/local/tmp/agentzero
adb shell /data/local/tmp/agentzero --version

When building from source, optional features can be enabled or disabled:

FeatureDescriptionRecommended on Android
memory-sqliteLocal SQLite storage (default)Yes
hardwareGPIO and peripheral supportNo (not available)
ragRetrieval-augmented generationOptional
channels-standardExtra communication channelsOptional
memory-tursoRemote Turso databaseOptional (requires network)
  • No systemd: Use Termux’s termux-services package for daemon mode, or run in the foreground
  • Storage access: Run termux-setup-storage to access shared storage (photos, downloads, etc.)
  • Network binding: Some features may require Android VPN permission for local port binding
  • No hardware peripherals: GPIO and peripheral features are not available on Android

Start the gateway in foreground mode:

Terminal window
agentzero gateway --host 127.0.0.1 --port 8080

For auto-start on boot, install termux-boot:

pkg install termux-boot
mkdir -p ~/.termux/boot
cat > ~/.termux/boot/agentzero.sh << 'EOF'
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
agentzero daemon start --host 127.0.0.1 --port 8080
EOF
chmod +x ~/.termux/boot/agentzero.sh
Terminal window
chmod +x agentzero

Make sure you downloaded the correct architecture for your device. Check with uname -m.

Verify that ANDROID_NDK_HOME is set correctly and the NDK toolchain binaries are on your PATH.

Termux runs within Android’s memory limits. Try reducing parallel jobs:

Terminal window
cargo build -p agentzero --release -j2