The sandboxed App for Android, the App Virtualization engine, creates a virtual space where applications can be installed, launched, controlled, and uninstalled at will. Virtual space and external isolation is equivalent to a sandbox environment, which can realize black technology such as multiple application opening and silent installation on Android.
Introduction to VirtualApp
VirtualApp(VA for short) is a sandbox product that runs on the Android system and can be understood as a lightweight “Android virtual machine”. In the form of a highly scalable, customizable integrated SDK, you can develop all sorts of seemingly impossible things based on or using VA customizationProject. VA is currently widely used in APP multi-open, small game collection, mobile game accelerator, mobile game rental number, mobile game controller activation free, blockchain, mobile office security, military government data isolation, mobile phone simulation information, script automation, plug-in development, non-sensing hot update, cloud control and other technical fields.
VA technology architecture
VA technology involves a total of Android APP layer, Framework layer and Native layer.
gradation | ground work |
VA Space |
The VA provides an internal space for installing apps to run inside it, and this space is system isolated. |
VA Framework |
This layer mainly acts as an agent for Android Framework and VAPP, which is also the core of VA. VA provides its own VA Framework, which sits between the Android Framework and the VA APP. |
VA Native |
In this layer mainly to complete two tasks, IO redirection and VA APP interaction with the Android system request modification. |
VA function Introduction
1.VA can meet your dual-open/multi-open needs, VA can allow you to install multiple wechat /QQ/WhatsApp/Facebook and other apps on the same mobile phone, to achieve a mobile phone, multiple accounts at the same time login.
2.VA provides a set of internal and external isolation mechanisms, including but not limited to (file isolation/component isolation/process communication isolation), simply said that the VA internal is a “completely independent space”. Through VA, work and personal affairs can be safely separated and do not interfere with each other. A little customization can achieve the application behavior audit, data encryption, data collection, data leakage prevention, anti-attack leakage and other mobile security-related needs.
3.VA provides Java and Native Hook capabilities, through VA, you can easily achieve such as virtual positioning, machine change, APP monitoring and management, mobile security and other scenarios required functions.
4.VA provides APP silent installation, silent upgrade, silent uninstall capabilities. For example, the app store or game center can avoid the need for users to manually click to confirm the installation of the operation after the integration of VA, so that it is immediately installed in the VA after downloading, giving users the experience of “small program” move, completely avoiding the problem that the application is not easy to be installed by users.
5.VA has implemented support for Google services to support overseas App operations, such as Twitter, Messenger, WhatsApp, Instagram, FaceBook, Youtube, etc.
Specific ability
- clone ability
You can clone apps already installed in external systems and run them internally without interfering with each other. The typical application scenario is double-opening apps. - Installation-free capability
In addition to cloning already installed, VA can install (externally unaware)apk directly internally and run it directly internally. Typical application scenarios are plug-ins and independent application markets. - Multiple opening capacity
VA can not only “double open”, the unique multi-user mode supports users to open the same App indefinitely.
VA project Access
1.Create your own App
Create a new module of type application and add the lib module as a dependency
implementation project(':lib')
2.Add the required permissions in AndroidManifest.xml
<uses-permission android:name="${VA_ACCESS_PERMISSION_NAME}" />
Permission names must be the same as those declared in VAConfig.gradle. Placeholder can be added to build.gradle to prevent errors.
android {
// ...
manifestPlaceholders = [
VA_ACCESS_PERMISSION_NAME: rootProject.ext.VA_ACCESS_PERMISSION_NAME,
]
}
3.Create an Application
Duplicate the attachBaseContext method and add code to boot VirtualApp:
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
try {
VirtualCore.get().startup(base, mConfig);
} catch (Throwable e) {
e.printStackTrace();
}
}