|
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