package io.virtualapp; import android.app.Application; import android.content.Context; import com.flurry.android.FlurryAgent; import com.lody.virtual.client.core.VirtualCore; import com.lody.virtual.client.stub.StubManifest; import io.virtualapp.delegate.MyAppRequestListener; import io.virtualapp.delegate.MyComponentDelegate; import io.virtualapp.delegate.MyPhoneInfoDelegate; import io.virtualapp.delegate.MyTaskDescriptionDelegate; import jonathanfinerty.once.Once; /** * @author Lody */ public class VApp extends Application { private static VApp gApp; public static VApp getApp() { return gApp; } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); StubManifest.ENABLE_IO_REDIRECT = true; StubManifest.ENABLE_INNER_SHORTCUT = false; try { VirtualCore.get().startup(base); } catch (Throwable e) { e.printStackTrace(); } } @Override public void onCreate() { gApp = this; super.onCreate(); VirtualCore virtualCore = VirtualCore.get(); virtualCore.initialize(new VirtualCore.VirtualInitializer() { @Override public void onMainProcess() { Once.initialise(VApp.this); new FlurryAgent.Builder() .withLogEnabled(true) .withListener(() -> { // nothing }) .build(VApp.this, "48RJJP7ZCZZBB6KMMWW5"); } @Override public void onVirtualProcess() { //listener components virtualCore.setComponentDelegate(new MyComponentDelegate()); //fake phone imei,macAddress,BluetoothAddress virtualCore.setPhoneInfoDelegate(new MyPhoneInfoDelegate()); //fake task description's icon and title virtualCore.setTaskDescriptionDelegate(new MyTaskDescriptionDelegate()); } @Override public void onServerProcess() { virtualCore.setAppRequestListener(new MyAppRequestListener(VApp.this)); virtualCore.addVisibleOutsidePackage("com.tencent.mobileqq"); virtualCore.addVisibleOutsidePackage("com.tencent.mobileqqi"); virtualCore.addVisibleOutsidePackage("com.tencent.minihd.qq"); virtualCore.addVisibleOutsidePackage("com.tencent.qqlite"); virtualCore.addVisibleOutsidePackage("com.facebook.katana"); virtualCore.addVisibleOutsidePackage("com.whatsapp"); virtualCore.addVisibleOutsidePackage("com.tencent.mm"); virtualCore.addVisibleOutsidePackage("com.immomo.momo"); } }); } }