Podroid: 在Android上运行Linux容器,无需root
AndroidLinux容器QEMUPodman
项目简介
Podroid是一个创新的Android应用,可以在你的手机上运行完整的Linux容器,无需root权限。它使用QEMU在Android上运行一个轻量级的Alpine Linux虚拟机,内置Podman容器运行时和一个功能完整的串口终端。
核心特性
- 无root运行:无需获取Android root权限即可使用
- Podman集成:支持pull和运行任何OCI镜像
- 完整终端:xterm仿真,支持Ctrl、Alt、F1-F12、箭头键等
- 持久化:包、配置和容器镜像在重启后依然保留
- 端口转发:支持将VM端口转发到Android主机
- 自包含:无需Termux或主机二进制文件,只需安装APK
技术架构
Android App
├── Foreground Service (保持VM运行)
├── PodroidQemu
│ ├── libqemu-system-aarch64.so (QEMU TCG)
│ ├── Serial stdio ←→ TerminalEmulator
│ └── QMP socket (端口转发、VM控制)
└── Alpine Linux VM
├── initramfs (只读基础层)
├── ext4 disk (持久化overlay)
└── Podman + crun + netavark + slirp4netns
快速开始
# 安装APK后打开应用,点击Start Podman # 等待约20秒启动 # 运行容器 podman run --rm alpine echo hello podman run --rm -it alpine sh podman run -d -p 8080:80 nginx
为什么这很重要
- 开发者便利:在手机上测试容器化应用
- 隐私优先:数据留在设备上,无需云服务
- 教育目的:学习Linux容器和虚拟化
- 复古计算:在移动设备上运行完整开发环境
要求
- arm64 Android设备
- Android 14+ (API 34)
- 约150MB可用存储空间
技术栈
- QEMU - 机器仿真
- Alpine Linux - VM基础
- Podman - 容器运行时
- Termux - 终端仿真器库
- Jetpack Compose - UI框架