Fix dummyClassLoader being detached when replacing app classloader
Fix #236.
This commit is contained in:
parent
065fe7b5c3
commit
50444072b0
|
|
@ -11,6 +11,7 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
|
||||
import dalvik.system.PathClassLoader;
|
||||
import de.robv.android.xposed.XposedBridge;
|
||||
import de.robv.android.xposed.XposedHelpers;
|
||||
|
||||
public class ClassLoaderUtils {
|
||||
|
|
@ -35,10 +36,12 @@ public class ClassLoaderUtils {
|
|||
if (tmp == null) {
|
||||
Utils.logD("before replacing =========================================>");
|
||||
dumpClassLoaders(appClassLoader);
|
||||
Field parentField = ClassLoader.class.getDeclaredField("parent");
|
||||
parentField.setAccessible(true);
|
||||
parentField.set(curCL, parent);
|
||||
parentField.set(lastChild, curCL);
|
||||
ClassLoader myTopCL = curCL;
|
||||
if (curCL.getParent() == XposedBridge.dummyClassLoader) {
|
||||
myTopCL = curCL.getParent();
|
||||
}
|
||||
XposedHelpers.setObjectField(myTopCL, "parent", parent);
|
||||
XposedHelpers.setObjectField(lastChild, "parent", curCL);
|
||||
Utils.logD("after replacing ==========================================>");
|
||||
dumpClassLoaders(appClassLoader);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import org.gradle.internal.os.OperatingSystem
|
|||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
version "v0.4.1.2_beta"
|
||||
version "v0.4.1.4_beta"
|
||||
|
||||
ext {
|
||||
versionCode = "4120"
|
||||
versionCode = "4140"
|
||||
module_name = "EdXposed"
|
||||
jar_dest_dir = "${projectDir}/template_override/system/framework/"
|
||||
is_windows = OperatingSystem.current().isWindows()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/system/bin/sh
|
||||
|
||||
EDXP_VERSION="0.4.1.2_beta (4120)"
|
||||
EDXP_VERSION="0.4.1.4_beta (4140)"
|
||||
ANDROID_SDK=`getprop ro.build.version.sdk`
|
||||
BUILD_DESC=`getprop ro.build.description`
|
||||
PRODUCT=`getprop ro.build.product`
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package de.robv.android.xposed;
|
|||
import android.app.ActivityThread;
|
||||
import android.app.AndroidAppHelper;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageParser;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.ResourcesImpl;
|
||||
import android.content.res.TypedArray;
|
||||
|
|
|
|||
Loading…
Reference in New Issue