ShizuStore

VineOS

Hexadecinull

0.1.0-alpha-debug · GitHub

Download APK
Miscellaneous Android 8.0+ 1 month ago GPL-3.0
268 ShizuStore
1.7k GitHub
69 Stars
27 MB Size

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.

VineOS Android CI VineOS CodeQL CI VineOS Dependency Review VineOS Nightly Build CI VineOS Release CI GitHub Downloads (all assets, all releases) GitHub Downloads (latest) GitHub Release GitHub Repo stars GitHub Pull Requests GitHub Issues

Download ยท Documentation ยท Roadmap ยท FAQ


Table of Contents


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, or x86 processor
  • 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 + UInputBridge wiring
  • 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 /data partition (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/mount on a given device (Settings โ†’ Shizuku)
  • proot fallback 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

Made with ๐ŸŒฟ by Hexadecinull and contributors
Close

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

  • unshare
  • mount
  • getuid

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.

Close

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

Close

Permissions

12 permissions requested

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.READ_MEDIA_IMAGES
  • android.permission.INTERNET
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.POST_NOTIFICATIONS
  • android.permission.WAKE_LOCK
  • android.permission.VIBRATE
  • com.hexadecinull.vineos.debug.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close

Sources

2 sources

0.1.0-alpha-debug Universal GitHub ยท com.hexadecinull.vineos.debug
Selected Download
0.1.0-alpha GitHub ยท com.hexadecinull.vineos
Download