explaingit

aslody/virtualapp

10,979JavaAudience · developerComplexity · 5/5LicenseSetup · hard

TLDR

Android framework that runs other apps inside a sandboxed container, enabling multiple accounts of the same app and isolated execution without rooting the device.

Mindmap

mindmap
  root((VirtualApp))
    What it does
      App sandbox
      Multiple accounts
      No root needed
    How it works
      Intercepts system calls
      Java and native hooks
      Redirects installs
    Compatibility
      Android 5 to 17
      32 and 64 bit
      ARM processors
    Audience
      Mobile developers
      Security teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run two separate accounts of the same social app on one Android phone without rooting.

USE CASE 2

Build a mobile security testing environment that isolates apps from the real device system.

USE CASE 3

Create a plugin architecture where your Android app loads and runs other apps without the user installing them manually.

Tech stack

JavaAndroidARM

Getting it running

Difficulty · hard Time to first run · 1day+

The public GitHub code is unmaintained since 2017, production use requires a paid commercial license and integration with a complex native hook system.

The public code is unmaintained since 2017, commercial, internal, or app-store use requires a paid license from the maintainer.

In plain English

VirtualApp (commonly abbreviated VA) is a software framework for Android that creates a sandbox environment capable of running other apps inside it. Think of it as a lightweight app-within-an-app container: other Android apps can be installed and run inside VirtualApp without being installed on the actual device system. The README and documentation are primarily in Chinese. The main use cases described include running multiple accounts of the same app on one phone (for example, two separate WeChat or WhatsApp accounts), running apps in a fully isolated environment for mobile security purposes, and enabling plugin-based architectures where an app can load and run other apps without requiring the user to install them manually through the device's normal process. VA works by intercepting all system calls that apps inside it make and redirecting them through its own internal framework layer. This lets it convince the Android operating system that the apps inside are properly installed, even though they are not. It supports both 32-bit and 64-bit apps, covers Android versions from 5.0 through 17.0, and works on ARM processors in both 32-bit and 64-bit modes. It also provides hook mechanisms at both the Java and native code levels, which developers can use to monitor or modify app behavior without needing root access on the device. The public GitHub code has not been updated since December 2017. A commercial version is being actively maintained and requires a paid license to use for internal, commercial, or app-store purposes. The README notes that hundreds of companies have licensed the commercial version, and apps using it have been launched over 200 million times. Integration involves three API calls: start the VA engine, install the target app into the VA container, and launch it. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Using the VirtualApp framework, how do I install and launch a third-party APK inside the VA sandbox with just three API calls?
Prompt 2
Show me how VirtualApp intercepts Android system calls to convince the OS that a virtual app is properly installed.
Prompt 3
Help me set up VirtualApp to run two WhatsApp accounts on one Android device, walk me through the integration steps.
Open on GitHub → Explain another repo

← aslody on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.