VirtualApp is a sandboxing framework for Android that enables applications to run in an isolated virtual environment within the host operating system.
The tool addresses the challenge of running uninstalled applications on Android by intercepting and proxying system calls between virtual applications and the Android framework. Rather than actually installing apps to the system, VirtualApp creates an isolated space and deceives the system into accepting requests from virtualized applications by modifying their parameters before sending them to the framework, then restoring the original parameters when returning results. This approach operates across three layers: the VA Space provides isolated storage for virtual applications, the VA Framework acts as a proxy between the Android framework and virtual apps by intercepting and translating system service requests, and the VA Native layer handles IO redirection and hooks JNI functions that cannot be intercepted at the framework level.
Developers should consider this tool for projects requiring application isolation, multi-instance execution, or dynamic loading scenarios. The framework supports a wide range of use cases including app cloning, game collections, game acceleration, mobile security applications, script automation, plugin-based development, and hot updates. The tool is distributed as a customizable SDK that can be integrated into host applications, making it suitable for teams building complex Android solutions that would otherwise be difficult to implement.
The GitHub repository contains code that stopped receiving updates in late 2017, though a commercial version continues to be maintained separately. The project includes comprehensive technical documentation describing its architecture across application, framework, and native layers, with detailed explanations of how parameter interception and IO redirection enable virtual applications to function transparently within the sandboxed environment.