VineOS
0.1.0-alpha-debug · GitHub
More about this app
Android VM engine; Shizuku probes shell privileges for the no-root ADB and wireless debugging path.
๐ฟ VineOS
A free, open-source, ad-free Android-on-Android virtual machine. Run a full isolated Android guest inside your existing device, with 32-bit app support on arm64-only hardware via QEMU user-mode emulation.
Download ยท Documentation ยท Roadmap ยท FAQ
Table of Contents
- What is VineOS?
- Features
- Supported devices
- ROM support
- Installation
- Documentation
- Roadmap
- FAQ
- License
- Credits & acknowledgements
What is VineOS?
VineOS runs a complete, isolated Android operating system inside your existing Android device, without modifying the host OS or requiring root on most paths.
Unlike simple "app cloners" (Parallel Space, Dual Space) that sandbox
individual apps, VineOS virtualizes the full Android stack: its own
init, Zygote, SurfaceFlinger, ServiceManager, and everything else.
You get a real second phone inside your phone.
Why VineOS over alternatives like VPhoneOS or VMOS?
| Feature | VineOS | VPhoneOS | VMOS | Virtual Master |
|---|---|---|---|---|
| Open source | โ | โ | โ | โ |
| Ad-free | โ | โ | โ | โ |
| Free (fully) | โ | Partial | Partial | โ |
| 32-bit on arm64-only devices | โ | โ | โ | โ |
| Runs on arm, x86, and x86_64 hosts | โ | โ | โ | โ |
| GPL-3.0 licensed | โ | โ | โ | โ |
| Material You | โ | โ | โ | โ |
| Multiple ROM versions | โ | Paid | Partial | Paid |
| No telemetry | โ | โ | โ | โ |
Features
- ๐ Completely free: no paywalls, no premium tiers, no ads, ever
- ๐ Open source: GPL-3.0, fully auditable
- ๐ฆ Multiple ROMs: Android 7.1, 9.0, 11, 12 (more planned)
- ๐๏ธ 32-bit support everywhere: runs armeabi-v7a apps on arm64-only devices via QEMU user-mode binary translation
- ๐ฅ๏ธ Multi-host support: builds and runs on arm64-v8a, armeabi-v7a, x86_64, and x86 devices, not just ARM
- ๐จ Material You: dynamic color from your wallpaper on Android 12+, static vine-green fallback on 8-11
- โก Lightweight: zero background overhead when no VM is running, no persistent daemons
- ๐ Isolated: PID, mount, UTS, and IPC namespace separation
- ๐ฑ Multi-instance: run multiple independent VMs simultaneously
- ๐ง Root support: optional Magisk/root inside instances (requires rooted host)
- โก Shizuku: optional, no-root privilege probe via ADB/Wireless Debugging (see
docs/NOROOT_RESEARCH.md) - ๐ฑ minSdk 26, targetSdk 37: supports Android 8.0 through Android 17
Supported devices
- Android 8.0 (API 26) or higher as the host OS
arm64-v8a,armeabi-v7a,x86_64, orx86processor- A kernel with Linux namespaces and loop device support (standard since Android 4.4)
32-bit ARM guest apps run natively where the host CPU supports it, and through QEMU user-mode emulation everywhere else, including on the growing range of arm64-only SoCs across many vendors, and on non-ARM hosts entirely. See ARCHITECTURE.md for the full host/guest compatibility matrix.
ROM support
| ROM | Android Version | API | 32-bit | Status |
|---|---|---|---|---|
vine-rom-7 |
Android 7.1.2 Nougat | 25 | โ | ๐ก In progress |
vine-rom-9 |
Android 9.0 Pie | 28 | โ | ๐ด Planned |
vine-rom-11 |
Android 11 | 30 | โ | ๐ด Planned |
vine-rom-12 |
Android 12 | 31 | โ | ๐ด Planned |
ROMs are built from AOSP targeting the ranchu virtual device board and
distributed as .vrom archives. See
docs/BUILDING.md for the ROM
build guide.
Installation
Download the latest release APK from the Releases page.
VineOS is not yet on the Play Store. First release planned at Beta stability.
Documentation
All project documentation, including the architecture guide, build
instructions, usage guide, contributing guide, and policies, lives in
docs/. Start there.
Roadmap
Phase 1: Foundation (current)
- Linux namespace container runtime (
unshare,pivot_root,execve) - QEMU binfmt_misc integration for 32-bit support (4-layer AArch32 detection)
- JNI bridge with
FramebufferBridge+UInputBridgewiring - Material You UI: Home, ROMs, Settings, and detail/create-instance screens
- Room DB + ViewModels + DataStore preferences
- ROM downloader (manifest fetch, streaming download, SHA-256 verification)
- Multi-host-ABI support (arm64-v8a, armeabi-v7a, x86_64, x86)
- First bootable Android 7.1.2 ROM image
Phase 2: Display & Input
- Framebuffer render loop (mmap to ANativeWindow blit)
- RGB565 to RGBA8888 conversion for Android 7.x guests
- Single-touch forwarding, synced to the guest's real display resolution
- Hardware key forwarding (back, home, volume, recents)
- Multi-touch forwarding (MT type B, up to 10 fingers)
- Clipboard sharing host to guest
Phase 3: Storage & ROMs
- Writable
/datapartition (overlayfs on top of read-only ROM) - Instance snapshot / restore
- Android 9, 11, 12 ROM images
- ROM CDN + in-app download UI completion
Phase 4: No-root Path
- Shizuku integration to probe whether ADB-shell privilege clears
unshare/mounton a given device (Settings โ Shizuku) -
prootfallback for non-rooted devices - Android Virtualization Framework (AVF) backend (Android 13+)
Phase 5: Polish
- Play Store + F-Droid release
- Magisk inside instances
- Per-instance VPN / network isolation
- GPU passthrough research
FAQ
Does VineOS require root?
Root is not required for the planned no-root path (Phase 4). The current
implementation requires CAP_SYS_ADMIN for unshare() and mount().
Root is optional, only for Magisk inside instances.
Does VineOS work on arm64-only phones without 32-bit support? Yes, this is one of the core things VineOS is built for. We're aiming to support a wide range of SoCs across vendors, not just a specific model or two, and VineOS auto-detects arm64-only chips and switches to QEMU mode automatically.
Why GPL-3.0 and not MIT/Apache? VineOS uses QEMU (GPL-2.0-or-later) and is architecturally inspired by Anbox/Waydroid (GPL-3.0). GPL-3.0 ensures commercial forks must also open their changes.
Can I use VineOS on x86_64 Android devices or emulators?
Yes. VineOS builds and runs on arm64-v8a, armeabi-v7a, x86_64, and
x86 hosts; ARM guest ROMs run through QEMU on non-ARM hosts. See
ARCHITECTURE.md for exactly
what runs natively versus emulated on each host.
License
VineOS is licensed under the GNU General Public License v3.0. See LICENSE for the full text, and docs/TERMS.md for the project's terms of use.
Third-party components
| Component | License | Use |
|---|---|---|
| QEMU | GPL-2.0-or-later | ARMv7 user-mode emulation |
| AOSP | Apache-2.0 + various | ROM images |
| Jetpack Compose | Apache-2.0 | UI framework |
| Hilt | Apache-2.0 | Dependency injection |
| Room | Apache-2.0 | Local database |
Credits & acknowledgements
- Anbox: the original Android-in-a-Linux-container project; VineOS's container architecture is directly inspired by its design
- Waydroid: maintained successor, reference for namespace setup and binfmt_misc integration
- redroid: Android in Docker, reference for mount table and device node setup
- QEMU: the backbone of VineOS's 32-bit emulation
- VPhoneOS / VPhoneGaGa: the closed-source inspiration that VineOS aims to replace with an open alternative
- The entire Android homebrew and modding community
How Shizuku is used
Can test whether VM containers can run without root via `unshare` and `mount` probe
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used only for a one-tap compatibility check that shows whether the current privilege level can host VM containers.
- Check container support: tapping the test option runs a short check at shell privilege through Shizuku and reports whether containers can be set up without root, or shows why it is blocked.
Android APIs or commands used
unsharemountgetuid
Notable details
The check is diagnostic only in this release. It reports whether container setup would succeed but does not itself launch a VM or change system settings through Shizuku.
Changelog
What's new for version 0.1.0-alpha-debug
VineOS v0.1.0-alpha
See Git commit history for full details.
The -debug APK is a debuggable build meant for troubleshooting only, install the regular one unless you specifically need it.
[0.1.0-poc] - 2026-08-22
Permissions
12 permissions requested
Sources
2 sources
Sources
2 sources