diff --git a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/util/ClassLoaderUtils.java b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/util/ClassLoaderUtils.java index af7dd803..9a722e28 100644 --- a/edxp-common/src/main/java/com/elderdrivers/riru/edxp/util/ClassLoaderUtils.java +++ b/edxp-common/src/main/java/com/elderdrivers/riru/edxp/util/ClassLoaderUtils.java @@ -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); } diff --git a/edxp-core/build.gradle b/edxp-core/build.gradle index f6bb092a..82d90bfb 100644 --- a/edxp-core/build.gradle +++ b/edxp-core/build.gradle @@ -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() diff --git a/edxp-core/template_override/common/util_functions.sh b/edxp-core/template_override/common/util_functions.sh index 56eeb124..42122765 100644 --- a/edxp-core/template_override/common/util_functions.sh +++ b/edxp-core/template_override/common/util_functions.sh @@ -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` diff --git a/xposed-bridge/src/main/java/de/robv/android/xposed/XposedInit.java b/xposed-bridge/src/main/java/de/robv/android/xposed/XposedInit.java index 34a89241..9c8e0e05 100644 --- a/xposed-bridge/src/main/java/de/robv/android/xposed/XposedInit.java +++ b/xposed-bridge/src/main/java/de/robv/android/xposed/XposedInit.java @@ -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;