ASD on Android (Termux)
Overview
ASD CLI runs natively on Android devices through Termux, a terminal emulator for Android. You can expose local services, manage tunnels, and access the full ASD TUI dashboard directly from your phone or tablet — no desktop required.
All ASD helper binaries ship with ARM64 variants, so everything installs and runs automatically on modern Android hardware.
Requirements
Before you begin, make sure you have:
- Android device with ARM64 processor (virtually all devices from 2017 onward)
- Termux installed from F-Droid
Important: Install Termux from F-Droid, not the Google Play Store. The Play Store version is outdated and may not work correctly with ASD.
Installation
Step 1: Install Termux
Download and install Termux from the F-Droid app store. If you do not have F-Droid installed, you can download it from f-droid.org.
Step 2: Update Packages
Open Termux and update the package manager to ensure you have the latest versions of all system packages:
pkg update && pkg upgrade -y Step 3: Install ASD CLI
You have two options for installing ASD:
Option A: Install script (recommended)
This is the fastest path. Install curl if it is not already present, then run the install script:
pkg install curl
curl -fsSL https://raw.githubusercontent.com/asd-engineering/asd-cli/main/install.sh | bash The installer automatically detects ARM64 and downloads the correct binary.
Option B: From source via Bun (for development)
If you want to work with ASD source code or contribute to development:
pkg install bun git
git clone --recursive https://github.com/your-org/your-project.git
cd your-project
bun install Replace your-org/your-project with your actual repository URL.
Step 4: Initialize Your Project
Navigate to your project directory and initialize ASD:
cd your-project
asd init This downloads all required ARM64 helper binaries and creates the workspace directory structure. Once complete, you can open the network TUI:
asd net Termux-Specific Notes
File System Paths
Termux uses a sandboxed file system that differs from standard Linux:
| Location | Path |
|---|---|
Home directory (~) | /data/data/com.termux/files/home |
| ASD binaries | ~/.local/share/asd/bin/ |
| SSH keys | ~/.ssh/ |
| External storage | Accessible after running termux-setup-storage |
Your project files, ASD workspace state, and all configuration live inside Termux’s home directory. This directory persists across Termux sessions but is removed if you uninstall the app.
Binary Storage
ASD stores helper binaries in Termux’s standard data directory:
~/.local/share/asd/bin/ All binaries are ARM64-native and require no emulation layer. They are downloaded automatically during asd init.
What Works and What Does Not
| Feature | Status | Notes |
|---|---|---|
asd net TUI | Works | Full ANSI color and interactive navigation |
asd init | Works | All ARM64 binaries install correctly |
asd expose | Works | Create tunnels and share local services |
| Tunnel connections | Works | Requires authentication (login or token) |
| SSH key generation | Works | Keys stored in ~/.ssh/ |
asd net open | Limited | No browser integration from CLI; copy the URL manually |
The main limitation is the asd net open command, which cannot automatically open URLs in a browser from within Termux. Instead, copy the tunnel URL from the TUI output and paste it into your mobile browser or share it via any messaging app.
Verified ARM64 Binaries
All ASD helper binaries have been tested and verified on ARM64 (aarch64) devices. They install automatically during asd init:
| Binary | Purpose |
|---|---|
| Caddy | Local reverse proxy with automatic HTTPS |
| ttyd | Web-based terminal access |
| DbGate | Database management UI |
GitHub CLI (gh) | GitHub integration from the command line |
| mitmproxy | Network traffic inspection and debugging |
You do not need to install these manually — ASD handles downloading and placing the correct architecture variant.
Troubleshooting
“Permission denied” on Binaries
If you see permission errors when ASD tries to run a helper binary:
chmod +x ~/.local/share/asd/bin/* This grants execute permission to all ASD binaries. The install script normally handles this, but Android’s file system permissions can occasionally reset.
Storage Access
To access files on your device’s external storage (SD card, shared storage, Downloads folder), you need to grant Termux storage permission:
termux-setup-storage Android will prompt you to allow Termux access. After granting permission, external storage is available at ~/storage/.
Network and Wake Lock
Android aggressively suspends background processes to save battery. If tunnel connections drop when your screen turns off or Termux moves to the background, acquire a wake lock:
termux-wake-lock This prevents Android from suspending Termux’s network connections. Remember that keeping a wake lock active will increase battery consumption. Release it when you no longer need persistent connections:
termux-wake-unlock Terminal Colors Not Displaying Correctly
If the TUI or colored output looks garbled, set the terminal type explicitly:
export TERM=xterm-256color To make this permanent, add it to your shell configuration:
echo 'export TERM=xterm-256color' >> ~/.bashrc Tunnel Not Connecting
If asd expose fails to establish a tunnel:
- Verify you are authenticated:
asd auth status - Check your network connection — mobile data and some Wi-Fi networks may block SSH outbound
- Try acquiring a wake lock if on a spotty connection:
termux-wake-lock - Re-initialize if binaries seem corrupted:
asd init
Tips for Mobile Development
- Use a Bluetooth keyboard for extended coding sessions. Termux supports full keyboard input including function keys and modifier combinations.
- Split-screen mode on tablets lets you run Termux alongside a browser to test your tunnel URLs in real time.
- Termux:Widget (available on F-Droid) lets you create home screen shortcuts for common ASD commands like
asd expose 3000. - Pair with ttyd to get a web terminal you can access from another device, turning your Android into a portable development server.
Related Guides
- Getting Started — Complete walkthrough from installation to your first public URL, applicable to all platforms including Android
- Built-in Services — Web terminal, VS Code server, and database UI setup