Skip to content

Commit 2f3ea77

Browse files
author
tiann
committedFeb 25, 2019
FEAT: Build for F-droid.
1 parent abcc290 commit 2f3ea77

File tree

6 files changed

+114
-56
lines changed

6 files changed

+114
-56
lines changed
 

‎VirtualApp/app/build.gradle

+5-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ android {
4949
signingConfig signingConfigs.config
5050
}
5151
}
52+
53+
fdroid {
54+
dimension 'main'
55+
}
5256
}
5357
sourceSets {
5458
main {
@@ -87,7 +91,7 @@ dependencies {
8791
implementation 'org.jdeferred:jdeferred-android-aar:1.2.4'
8892
// ThirdParty
8993
implementation 'com.jonathanfinerty.once:once:1.0.3'
90-
implementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
94+
fdroidImplementation('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
9195
transitive = true
9296
}
9397
implementation 'com.kyleduo.switchbutton:library:1.4.6'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package io.virtualapp.delegate;
2+
3+
import android.app.Application;
4+
5+
import com.crashlytics.android.Crashlytics;
6+
import com.lody.virtual.client.core.VirtualCore;
7+
8+
import io.fabric.sdk.android.Fabric;
9+
10+
/**
11+
* @author weishu
12+
* @date 2019/2/25.
13+
*/
14+
public class MyVirtualInitializer extends BaseVirtualInitializer {
15+
public MyVirtualInitializer(Application application, VirtualCore core) {
16+
super(application, core);
17+
}
18+
19+
@Override
20+
public void onMainProcess() {
21+
Fabric.with(this.application, new Crashlytics());
22+
super.onMainProcess();
23+
}
24+
25+
@Override
26+
public void onVirtualProcess() {
27+
28+
// For Crash statics
29+
Fabric.with(application, new Crashlytics());
30+
virtualCore.setCrashHandler(new MyCrashHandler());
31+
32+
super.onVirtualProcess();
33+
}
34+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.virtualapp.delegate;
2+
3+
import android.app.Application;
4+
5+
import com.lody.virtual.client.core.VirtualCore;
6+
7+
/**
8+
* @author weishu
9+
* @date 2019/2/25.
10+
*/
11+
public class MyVirtualInitializer extends BaseVirtualInitializer {
12+
public MyVirtualInitializer(Application application, VirtualCore core) {
13+
super(application, core);
14+
}
15+
}

‎VirtualApp/app/src/main/java/io/virtualapp/VCommends.java

-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,4 @@ public class VCommends {
1313
public static final String EXTRA_APP_INFO_LIST = "va.extra.APP_INFO_LIST";
1414

1515
public static final String TAG_ASK_INSTALL_GMS = "va.extra.ASK_INSTALL_GMS";
16-
1716
}

‎VirtualApp/app/src/main/java/io/virtualapp/XApp.java

+2-54
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,13 @@
22

33
import android.app.Application;
44
import android.content.Context;
5-
import android.content.SharedPreferences;
65
import android.os.Build;
76

8-
import com.crashlytics.android.Crashlytics;
97
import com.lody.virtual.client.NativeEngine;
108
import com.lody.virtual.client.core.VirtualCore;
119
import com.lody.virtual.client.stub.VASettings;
12-
import com.lody.virtual.os.VEnvironment;
1310

14-
import io.fabric.sdk.android.Fabric;
15-
import io.virtualapp.delegate.MyAppRequestListener;
16-
import io.virtualapp.delegate.MyComponentDelegate;
17-
import io.virtualapp.delegate.MyCrashHandler;
18-
import io.virtualapp.delegate.MyPhoneInfoDelegate;
19-
import io.virtualapp.delegate.MyTaskDescDelegate;
20-
import jonathanfinerty.once.Once;
21-
import me.weishu.exposed.LogcatService;
11+
import io.virtualapp.delegate.MyVirtualInitializer;
2212

2313
/**
2414
* @author Lody
@@ -30,7 +20,6 @@ public class XApp extends Application {
3020
public static final String XPOSED_INSTALLER_PACKAGE = "de.robv.android.xposed.installer";
3121

3222
private static XApp gApp;
33-
private SharedPreferences mPreferences;
3423

3524
public static XApp getApp() {
3625
return gApp;
@@ -43,7 +32,6 @@ protected void attachBaseContext(Context base) {
4332
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
4433
NativeEngine.disableJit(Build.VERSION.SDK_INT);
4534
}
46-
mPreferences = base.getSharedPreferences("va", Context.MODE_MULTI_PROCESS);
4735
VASettings.ENABLE_IO_REDIRECT = true;
4836
VASettings.ENABLE_INNER_SHORTCUT = false;
4937
try {
@@ -57,47 +45,7 @@ protected void attachBaseContext(Context base) {
5745
public void onCreate() {
5846
super.onCreate();
5947
VirtualCore virtualCore = VirtualCore.get();
60-
virtualCore.initialize(new VirtualCore.VirtualInitializer() {
61-
62-
@Override
63-
public void onMainProcess() {
64-
Once.initialise(XApp.this);
65-
Fabric.with(XApp.this, new Crashlytics());
66-
}
67-
68-
@Override
69-
public void onVirtualProcess() {
70-
Fabric.with(XApp.this, new Crashlytics());
71-
72-
//listener components
73-
virtualCore.setComponentDelegate(new MyComponentDelegate());
74-
//fake phone imei,macAddress,BluetoothAddress
75-
virtualCore.setPhoneInfoDelegate(new MyPhoneInfoDelegate());
76-
//fake task description's icon and title
77-
virtualCore.setTaskDescriptionDelegate(new MyTaskDescDelegate());
78-
virtualCore.setCrashHandler(new MyCrashHandler());
79-
80-
// ensure the logcat service alive when every virtual process start.
81-
LogcatService.start(XApp.this, VEnvironment.getDataUserPackageDirectory(0, XPOSED_INSTALLER_PACKAGE));
82-
}
83-
84-
@Override
85-
public void onServerProcess() {
86-
virtualCore.setAppRequestListener(new MyAppRequestListener(XApp.this));
87-
virtualCore.addVisibleOutsidePackage("com.tencent.mobileqq");
88-
virtualCore.addVisibleOutsidePackage("com.tencent.mobileqqi");
89-
virtualCore.addVisibleOutsidePackage("com.tencent.minihd.qq");
90-
virtualCore.addVisibleOutsidePackage("com.tencent.qqlite");
91-
virtualCore.addVisibleOutsidePackage("com.facebook.katana");
92-
virtualCore.addVisibleOutsidePackage("com.whatsapp");
93-
virtualCore.addVisibleOutsidePackage("com.tencent.mm");
94-
virtualCore.addVisibleOutsidePackage("com.immomo.momo");
95-
}
96-
});
97-
}
98-
99-
public static SharedPreferences getPreferences() {
100-
return getApp().mPreferences;
48+
virtualCore.initialize(new MyVirtualInitializer(this, virtualCore));
10149
}
10250

10351
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package io.virtualapp.delegate;
2+
3+
import android.app.Application;
4+
5+
import com.lody.virtual.client.core.VirtualCore;
6+
import com.lody.virtual.os.VEnvironment;
7+
8+
import jonathanfinerty.once.Once;
9+
import me.weishu.exposed.LogcatService;
10+
11+
import static io.virtualapp.XApp.XPOSED_INSTALLER_PACKAGE;
12+
13+
/**
14+
* @author weishu
15+
* @date 2019/2/25.
16+
*/
17+
public class BaseVirtualInitializer extends VirtualCore.VirtualInitializer {
18+
19+
protected Application application;
20+
protected VirtualCore virtualCore;
21+
22+
public BaseVirtualInitializer(Application application, VirtualCore core) {
23+
this.application = application;
24+
this.virtualCore = core;
25+
}
26+
27+
@Override
28+
public void onMainProcess() {
29+
Once.initialise(application);
30+
}
31+
32+
@Override
33+
public void onVirtualProcess() {
34+
35+
//listener components
36+
virtualCore.setComponentDelegate(new MyComponentDelegate());
37+
//fake phone imei,macAddress,BluetoothAddress
38+
virtualCore.setPhoneInfoDelegate(new MyPhoneInfoDelegate());
39+
//fake task description's icon and title
40+
virtualCore.setTaskDescriptionDelegate(new MyTaskDescDelegate());
41+
42+
// ensure the logcat service alive when every virtual process start.
43+
LogcatService.start(application, VEnvironment.getDataUserPackageDirectory(0, XPOSED_INSTALLER_PACKAGE));
44+
}
45+
46+
@Override
47+
public void onServerProcess() {
48+
virtualCore.setAppRequestListener(new MyAppRequestListener(application));
49+
virtualCore.addVisibleOutsidePackage("com.tencent.mobileqq");
50+
virtualCore.addVisibleOutsidePackage("com.tencent.mobileqqi");
51+
virtualCore.addVisibleOutsidePackage("com.tencent.minihd.qq");
52+
virtualCore.addVisibleOutsidePackage("com.tencent.qqlite");
53+
virtualCore.addVisibleOutsidePackage("com.facebook.katana");
54+
virtualCore.addVisibleOutsidePackage("com.whatsapp");
55+
virtualCore.addVisibleOutsidePackage("com.tencent.mm");
56+
virtualCore.addVisibleOutsidePackage("com.immomo.momo");
57+
}
58+
}

0 commit comments

Comments
 (0)