Skip to content

An open source implementation of MultiAccount.

Notifications You must be signed in to change notification settings

hike2008/VirtualApp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VA banner

中文

About

Likes LBE Parallel Space, VirtualApp is an open platform for Android that allows you to create a Virtual Space, you can install and run apk inside. Beyond that, VirtualApp is also a Plugin Framework, the plugins running on VirtualApp does not require any constraints. VirtualApp does not require root, it is running on the local process.

Background

VirtualApp was born in early 2015, Originally, it is just a simple plugin framework, But as time goes on, the compatibility of it is getting better and better. in the end, it evolved into a Virtual Container.

Join our group

QQ Group: 553070909

Get started

  1. VirtualApp use the @hide API, so you must use our android.jar replace the old one (Android-SDK/platforms/android-23/{android.jar}).

  2. Include the following attributes in your AndroidManifest.xml:

    <permission
        android:name="com.lody.virtual.permission.VIRTUAL_BROADCAST"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.lody.virtual.permission.VIRTUAL_BROADCAST" />
    <service android:name="com.lody.virtual.client.stub.KeepService" android:process=":x"/>
    <provider
            android:process=":x"
            android:authorities="virtual.service.BinderProvider"
            android:name="com.lody.virtual.service.BinderProvider"
            android:exported="false" />
    <activity
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:name="com.lody.virtual.client.stub.ShortcutHandleActivity" android:exported="true"/>        
    <activity
            android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale"
            android:name="com.lody.virtual.client.stub.StubActivity$C0" android:process=":p0" >
            <meta-data android:name="X-Identity" android:value="Stub-User"/>
    </activity>
    <provider
            android:process=":p0"
            android:authorities="virtual.client.stub.StubContentProvider0"
            android:name="com.lody.virtual.client.stub.StubContentProvider$C0"
            android:exported="false">
            <meta-data android:name="X-Identity" android:value="Stub-User"/>
    </provider>
    <!--and so on-->
  1. Add all permissions your host and your plugins need to use.

  2. Goto your Application and insert the following code:

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        try {
            VirtualCore.getCore().startup(base);
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onCreate() {
        super.onCreate();
        VirtualCore.getCore().handleApplication(this);
        if (!VirtualCore.getCore().isVAppProcess()) {
            // Do some thing...
        }
    }
  1. For Install a virtual App, use this function:
    VirtualCore.getCore().installApp({APK PATH}, flags);
  1. For Launch a virtual App, use this function:
    VirtualCore.getCore().launchApp({PackageName});
  1. For uninstall a virtual App, use this function:
    VirtualCore.getCore().uninstallApp({PackageName});
  1. If you need to get the details of App, use this function:
    VirtualCore.getCore().findApp({PackageName});

Documentation

VirtualApp currently has no documentation, If you are interested in VirtualApp,please send email to me.

About Author

About

An open source implementation of MultiAccount.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%