
AndroSH No-Root Multi-Distro Linux on Android via Shizuku/ADB - Run Arch, Fedora, Alpine, Debian, Ubuntu, Kali, Void, Manjaro, OpenSUSE & Chimera with full system integration, proot isolation & Termux:X11 GUI.
[!Important] Before you start: install and run Shizuku first. If you're new to AndroSH, read the full Installation section below - it covers Shizuku setup and troubleshooting.
# In Termux
apt update && apt install -y python git
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
pip install -r requirements.txt
python main.py install
androsh setup demo --distro debian --type stable
androsh launch demo
Every distribution above ships from a verified rootfs source and runs in an isolated proot environment - no root required.
AndroSH lets you deploy and manage multiple full Linux distributions on Android by running PRoot through the ADB/Shizuku execution layer. This provides elevated Android-side execution without root while retaining direct Android system integration from inside the Linux environments.
Android Device → ADB/Shizuku Execution Context→ Proot Virtualization → Linux Environment(s)
graph TD
A[Android Device] --> B[ADB / Shizuku]
B --> C[Android Shell Execution Context]
C --> D[PRoot]
D --> E[Alpine]
D --> F[Debian]
D --> G[Ubuntu]
D --> H[Kali NetHunter]
E --> I[Android System Integration]
F --> I
G --> I
H --> I
I --> K[Android Command Execution]
I --> L[Android Filesystem Access]
I --> M[Android Network Access]
style D fill:#FF6B00,color:white
style I fill:#4CAF50,color:white
From inside any distro, you can reach into the Android system directly:
# List installed Android packages
pm list packages -f
# Kernel info
cat /proc/version
# Android system properties
getprop | grep version
# Network routes
ip route show
# Install prerequisites in Termux
apt update && apt install -y python git
# Get AndroSH
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
# Install dependencies
pip install -r requirements.txt
# Make the `androsh` command available globally
python main.py install
[!Tip] when you run
androsh setup, AndroSH automatically checks whether Shizuku is configured correctly and walks you through fixing it if not.
cd AndroSH
git pull
pip install -r requirements.txt
androsh setup production --distro debian --type stable
androsh launch production
# You're now root inside the Debian environment
root@localhost:~# apt update && apt install python3 git
androsh list # See what's available to install
androsh lsd # See what's already installed
androsh clean production # Free up space / remove temp files
androsh remove production --force # Delete an environment
androsh distro list # List available distros
androsh distro info ubuntu # Get details on a distro
androsh distro download alpine --type alpine-minirootfs --file alpine-edge.tar.gz
See AndroSH_Help.md for every command and flag, including verbosity control (--verbose / --quiet) and timestamp formatting (--time-style).
Learning Linux
androsh setup classroom --distro ubuntu --type stable
apt install gcc python3-dev git curl wget
Security research / penetration testing
androsh setup pentest --distro kali-nethunter --type full
apt install nmap metasploit-framework wireshark
Lightweight dev environments
androsh setup devops --distro alpine --type alpine-minirootfs
apk add build-base git nodejs npm docker-cli
On-the-go workstation
androsh setup field --distro debian --type stable
apt install vim tmux htop net-tools
Running several environments at once
androsh setup frontend --distro ubuntu -t stable
androsh setup backend --distro debian -t stable
androsh setup security --distro kali-nethunter -t nano
androsh lsd
| Component | Source | Purpose |
|---|---|---|
| PRoot | ahmed-alnassif/proot | Statically linked, Android-optimized automated builds |
| BusyBox NDK | Magisk-Modules-Repo/busybox-ndk | Core Unix utilities (tar, grep, awk, etc.) for Android |
Build pipelines: PRoot builder · BusyBox NDK sources · AndroSH core
All dependencies are traceable to their upstream sources and kept in sync with security updates.
Reset a broken environment
androsh setup <distro> --distro debian -t stable --resetup
Clean up temp files
androsh clean <distro>
Reinstall the global androsh command
cd AndroSH
python main.py install
Shizuku issues
Contributions and security research are welcome. Current priority areas:
Set up a dev environment:
git clone https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
GPLv3 - free for commercial and research use.
Ahmed Al-Nassif
Professional Linux environments in your pocket - without requiring Android root.
| Capability | AndroSH | Typical Alternatives |
|---|
| Multiple distros at once | Yes | Usually one distro only |
| Environment management | SQLite + CLI | Manual file handling |
| Android system integration | ADB/Shizuku execution | Varies by solution |
| Multiple isolated instances | Yes | Single instance |
| Root required | No (ADB/Shizuku) | Often requires bootloader unlock |
| Command | Preview | What it shows |
|---|
androsh launch kali | View | Launching the Kali NetHunter environment |
androsh list | View | All available distributions |
androsh lsd | View | Environments you've already installed |