|
26 | 26 | import android.os.StrictMode;
|
27 | 27 | import android.system.ErrnoException;
|
28 | 28 | import android.system.Os;
|
29 |
| -import android.util.Log; |
30 | 29 |
|
31 | 30 | import com.lody.virtual.client.core.CrashHandler;
|
32 | 31 | import com.lody.virtual.client.core.InvocationStubManager;
|
|
45 | 44 | import com.lody.virtual.client.stub.VASettings;
|
46 | 45 | import com.lody.virtual.helper.compat.BuildCompat;
|
47 | 46 | import com.lody.virtual.helper.compat.StorageManagerCompat;
|
| 47 | +import com.lody.virtual.helper.utils.Reflect; |
48 | 48 | import com.lody.virtual.helper.utils.VLog;
|
49 | 49 | import com.lody.virtual.os.VEnvironment;
|
50 | 50 | import com.lody.virtual.os.VUserHandle;
|
|
62 | 62 | import java.util.Map;
|
63 | 63 | import java.util.Set;
|
64 | 64 |
|
| 65 | +import dalvik.system.DelegateLastClassLoader; |
65 | 66 | import me.weishu.exposed.ExposedBridge;
|
66 | 67 | import mirror.android.app.ActivityThread;
|
67 | 68 | import mirror.android.app.ActivityThreadNMR1;
|
|
71 | 72 | import mirror.android.content.ContentProviderHolderOreo;
|
72 | 73 | import mirror.android.providers.Settings;
|
73 | 74 | import mirror.android.renderscript.RenderScriptCacheDir;
|
| 75 | +import mirror.android.security.net.config.ApplicationConfig; |
74 | 76 | import mirror.android.view.HardwareRenderer;
|
75 | 77 | import mirror.android.view.RenderScript;
|
76 | 78 | import mirror.android.view.ThreadedRenderer;
|
77 | 79 | import mirror.com.android.internal.content.ReferrerIntent;
|
78 | 80 | import mirror.dalvik.system.VMRuntime;
|
79 | 81 | import mirror.java.lang.ThreadGroupN;
|
80 |
| -import mirror.android.security.net.config.ApplicationConfig; |
81 | 82 |
|
82 | 83 | import static com.lody.virtual.os.VUserHandle.getUserId;
|
83 | 84 |
|
@@ -346,8 +347,11 @@ private void bindApplicationNoCheck(String packageName, String processName, Cond
|
346 | 347 | VLog.w(TAG, "Xposed is disable..");
|
347 | 348 | }
|
348 | 349 |
|
349 |
| - ClassLoader call = LoadedApk.getClassLoader.call(data.info); |
350 |
| - Log.i("mylog", "classloader: " + call + " parent: " + call.getParent()); |
| 350 | + ClassLoader cl = LoadedApk.getClassLoader.call(data.info); |
| 351 | + if (BuildCompat.isS()) { |
| 352 | + ClassLoader parent = cl.getParent(); |
| 353 | + Reflect.on(cl).set("parent", new DelegateLastClassLoader("/system/framework/android.test.base.jar", parent)); |
| 354 | + } |
351 | 355 |
|
352 | 356 | if (Build.VERSION.SDK_INT >= 30)
|
353 | 357 | ApplicationConfig.setDefaultInstance.call(new Object[] { null });
|
|
0 commit comments