Termux for developers: a complete Android setup guide
Install Termux the right way (F-Droid vs GitHub vs Google Play), then set up git, SSH keys, Node.js, Python, VS Code with code-server and an SSH server on port 8022.
Your Android phone is a Linux computer with a touchscreen. Termux lets you use it like one: a real terminal with a package manager, git, Node.js, Python, SSH and even VS Code in the browser — no root required. This guide shows how to install Termux the right way and turn it into a working development environment, step by step.
1. What is Termux
Termux is a free, open-source terminal emulator and Linux environment for
Android. It is not a virtual machine and does not need root: it runs as a
normal app, with its own package repository of thousands of command-line tools built
for Android. You install software with pkg, just like on a Linux server.
2. How to install Termux (F-Droid vs GitHub vs Google Play)
This is where most people go wrong. Termux is published in three places:
- F-Droid — the recommended source for most people. Updates can arrive a few days after a release.
- GitHub Releases — the newest builds, with architecture-specific APKs.
- Google Play — an experimental branch for Android 11+ that the project itself says has missing functionality and bugs compared with the F-Droid build.
Never mix sources. Each source signs its APKs with a different key.
Termux and its plugins (Termux:API, Termux:Boot, Termux:Widget…) must all come from the
same place; otherwise you get errors such as
INSTALL_FAILED_UPDATE_INCOMPATIBLE. To switch, uninstall everything first.
Full support needs Android 7 or newer.
3. First steps: update, packages and storage
# update the package lists and installed packages
pkg update && pkg upgrade
# a basic developer toolbox
pkg install git openssh nodejs python curl wget build-essential
# give Termux access to shared storage (Downloads, DCIM…)
termux-setup-storage
termux-setup-storage asks for permission and creates
~/storage with links to your phone's folders. Keep your projects in the
Termux home directory (~), not in shared storage — git and many tools
behave badly on Android's shared storage.
4. Git and SSH keys for GitHub
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
ssh-keygen -t ed25519 -C "you@example.com"
cat ~/.ssh/id_ed25519.pub
Add the printed public key in GitHub under Settings → SSH and GPG keys,
then clone over SSH: git clone git@github.com:you/project.git. Protect the
key with a passphrase — a phone is easier to lose than a laptop.
5. Node.js, Python and an editor
- Node.js:
pkg install nodejsgives younodeandnpm; most pure-JavaScript projects run as-is. - Python:
pkg install python, thenpip. Packages with native code may needbuild-essentialor a Termux package of their own. - Editors:
pkg install neovimornanowork well with an external keyboard;microis friendlier for touch.
For long-running processes such as a dev server, run termux-wake-lock so
Android does not put Termux to sleep, and use tmux to keep sessions
alive.
6. VS Code on Android with code-server
code-server runs VS Code as a web app. Its documentation describes the Termux route:
pkg install tur-repo
pkg install code-server
code-server
Open the address it prints in your phone's browser. The password is in
~/.config/code-server/config.yaml. It is usable on a tablet or with a
keyboard; on a phone screen, expect to zoom a lot.
7. SSH into your phone from a computer
Sometimes the easiest way to work in Termux is from a real keyboard:
pkg install openssh
passwd # set a password for Termux
whoami # your Termux user name
sshd # start the server
Termux's SSH server listens on port 8022, not 22. From your computer:
ssh -p 8022 <user>@<phone-ip>. Better than a password: put
your computer's public key in ~/.ssh/authorized_keys in Termux. Stop the
server with pkill sshd.
8. Termux:API and other add-ons
Add-on apps connect Termux to the rest of Android — install them from the same source as Termux itself:
- Termux:API — battery, clipboard, notifications, location, camera
and more from the command line (also install the
termux-apipackage); - Termux:Boot — run scripts when the phone starts;
- Termux:Widget — start scripts from a home-screen widget;
- Termux:Styling, Termux:Float, Termux:Tasker — colors and fonts, a floating window, automation.
9. Limits: what Termux will not do well
- It is not a standard Linux distribution. Some prebuilt binaries
expect a normal glibc system and will not run directly;
proot-distrocan give you a Debian or Ubuntu userland when you need one. - Heavy builds are slow and drain the battery; phones throttle under sustained load.
- Android kills background apps. Wake lock and battery-optimization exceptions help, but are not a guarantee.
- Small screen, soft keyboard. The extra-keys row helps; a Bluetooth keyboard helps more.
If what you really want is to work on a big project from your phone, the alternative is to keep the heavy lifting on your computer and use the phone to drive it — over Tailscale SSH, or with an app built for it like coden, where an AI agent works on your computer and you give it tasks, approve its steps and try the result from your phone.
Do you see it differently? Write to support@coden-app.com.