
AndroSH v26.08.23
AndroSH 免Root 通过 Shizuku/ADB 在 Android 上运行多发行版 Linux - 运行 Arch、Fedora、Alpine、Debian、Ubuntu、Kali、Void、Manjaro、OpenSUSE 和 Chimera,具备完整的系统集成、proot 隔离与 Termux:X11 GUI。
AndroSH - 在 Android 上运行 Linux 发行版(无需 Root,由 ADB/Shizuku 驱动)
目录
快速开始
[!Important] 开始之前: 请先安装并运行 Shizuku。如果你是 AndroSH 新手,请阅读下方完整的 安装 部分 - 其中涵盖了 Shizuku 的设置和故障排除。
# 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
功能特性
- 多发行版:可同时运行多个 Linux 发行版(Arch、Fedora、Alpine、Debian、Ubuntu、Kali、Void、Manjaro、Chimera、openSUSE)
- ADB/Shizuku 驱动 Linux:通过 Android 的高权限 Shell 层运行完整的 Linux 发行版,并可直接集成 Android 系统 - 无需 root
- 基于 SQLite:快速、可靠地跟踪你的环境
- 隔离运行:每个 Linux 环境通过 PRoot 运行,具备用户空间文件系统/进程隔离
- GUI 支持:可与 Termux:X11 配合使用,获得完整的桌面环境 - 设置指南
支持的发行版
上述每个发行版均来自经过验证的 rootfs 源,并在隔离的 proot 环境中运行 - 无需 root。
概述
AndroSH 让你能够通过 ADB/Shizuku 执行层运行 PRoot,从而在 Android 上部署和管理多个完整的 Linux 发行版。这提供了无需 root 的 Android 端高权限执行能力,同时保留从 Linux 环境内部直接集成 Android 系统的能力。
| 能力 | AndroSH | 典型替代方案 |
|---|---|---|
| 同时运行多个发行版 | 是 | 通常只支持一个发行版 |
| 环境管理 | SQLite + CLI | 手动处理文件 |
| Android 系统集成 | ADB/Shizuku 执行 | 因方案而异 |
| 多个隔离实例 | 是 | 单个实例 |
| Root 要求 | 否(ADB/Shizuku) | 通常需要解锁引导加载程序 |
屏幕截图
架构
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
从任意发行版内部,你都可以直接访问 Android 系统:
# 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] 当你运行
androsh setup时,AndroSH 会自动检查 Shizuku 是否配置正确,并在未正确配置时引导你完成修复。
更新
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
完整命令参考
有关所有命令和标志的详细说明,请参阅 AndroSH_Help.md,包括详细程度控制(--verbose / --quiet)和时间戳格式(--time-style)。
使用场景
学习 Linux
androsh setup classroom --distro ubuntu --type stable
apt install gcc python3-dev git curl wget
安全研究 / 渗透测试
androsh setup pentest --distro kali-nethunter --type full
apt install nmap metasploit-framework wireshark
轻量级开发环境
androsh setup devops --distro alpine --type alpine-minirootfs
apk add build-base git nodejs npm docker-cli
随身工作站
androsh setup field --distro debian --type stable
apt install vim tmux htop net-tools
同时运行多个环境
androsh setup frontend --distro ubuntu -t stable
androsh setup backend --distro debian -t stable
androsh setup security --distro kali-nethunter -t nano
androsh lsd
安全与隐私
- Android 权限边界:Android 端操作在 ADB/Shizuku 执行上下文可用的权限范围内运行;无需 Android root。
- 进程隔离:每个环境都通过 proot 在沙箱中运行
- 完整性校验:SHA-256 校验和验证每次下载
- 无遥测:零数据收集,所有内容都保留在设备本地
- 开源:每个组件都可审计
组件与来源
| 组件 | 来源 | 用途 |
|---|---|---|
| PRoot | ahmed-alnassif/proot | 静态链接、针对 Android 优化的自动化构建 |
| BusyBox NDK | Magisk-Modules-Repo/busybox-ndk | 适用于 Android 的核心 Unix 工具(tar、grep、awk 等) |
构建流水线:PRoot 构建器 · BusyBox NDK 源码 · AndroSH 核心
所有依赖项都可追溯到其上游来源,并与安全更新保持同步。
故障排除
重置损坏的环境
androsh setup <distro> --distro debian -t stable --resetup
清理临时文件
androsh clean <distro>
重新安装全局 androsh 命令
cd AndroSH
python main.py install
Shizuku 问题
- 确认 Shizuku 正在运行,并且 AndroSH 已获得授权
- 如果问题仍然存在,请重启设备以恢复 Shizuku 服务
参与贡献
欢迎贡献和安全研究。当前优先领域:
- 性能优化
- 部署工具
- 安全加固
设置开发环境:
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 - 可免费用于商业和研究用途。
作者
Ahmed Al-Nassif
- GitHub: @ahmed-alnassif
支持
- 如果你觉得有用,请给仓库点个 Star
- 提交 Issue 报告 Bug
- 建议新功能或分享你使用 AndroSH 的方式
专业级 Linux 环境尽在你的口袋中 - 无需 Android root。