
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 的设置和故障排除。
# 在 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 系统:
# 列出已安装的 Android 软件包
pm list packages -f
# 内核信息
cat /proc/version
# Android 系统属性
getprop | grep version
# 网络路由
ip route show
安装
要求
设置
# 在 Termux 中安装先决条件
apt update && apt install -y python git
# 获取 AndroSH
git clone --depth 1 https://github.com/ahmed-alnassif/AndroSH.git
cd AndroSH
# 安装依赖
pip install -r requirements.txt
# 使 `androsh` 命令全局可用
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
# 您现在已是 Debian 环境内的 root 用户
root@localhost:~# apt update && apt install python3 git
管理环境
androsh list # 查看可安装的内容
androsh lsd # 查看已安装的内容
androsh clean production # 释放空间 / 删除临时文件
androsh remove production --force # 删除一个环境
直接管理发行版
androsh distro list # 列出可用的发行版
androsh distro info ubuntu # 获取发行版的详细信息
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 builder · BusyBox NDK sources · AndroSH core
所有依赖项均可追溯至其上游来源,并与安全更新保持同步。
故障排除
重置损坏的环境
androsh setup <distro> --distro debian -t stable --resetup
清理临时文件
androsh clean <distro>
重新安装全局 androsh 命令
cd AndroSH
python main.py install
Shizuku 问题
- 确认 Shizuku 正在运行,并且 AndroSH 已在其中获得授权
- 如果问题仍然存在,请重启设备以恢复 Shizuku 服务
贡献
欢迎各种形式的贡献 - 代码、文档、错误报告、功能想法、翻译、测试,或者只是分享反馈。无论您是在修复拼写错误还是添加对新发行版的支持,每一份贡献都有帮助。
参与方式:
- 代码:修复错误、添加功能、提升性能
- 文档:改进 README、编写指南、添加示例
- 测试:在不同设备/Android 版本上尝试 AndroSH 并报告您的发现
- 错误报告:提交 issue,并附上清晰的重现步骤
- 功能请求:提出您希望支持的想法或工作流程
- 社区支持:在 issue/讨论中帮助回答问题
任何贡献都不算小 - 如果您不确定从哪里开始,请提交 issue 并询问。
设置开发环境:
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
支持
- 为仓库加星,如果您觉得它有用 - 这有助于其他人发现该项目
- 分享它给朋友、社区或在社交媒体上,如果 AndroSH 对您有帮助
- 提交 issue 以报告错误
- 发起讨论 以建议功能或提问
- 分享您的使用场景 - 告诉我们您如何使用 AndroSH,这有助于塑造未来的开发
- 传播消息,通过撰写文章、制作视频,或在 Android/Linux 爱好者聚集的地方推荐它
每一份支持,无论大小,都有助于项目持续成长。
口袋里的专业 Linux 环境 - 无需 Android root。