Commit a7924ae8 authored by swift_gan's avatar swift_gan Committed by swift_gan

fix classloader

parent 003641ef
...@@ -61,18 +61,9 @@ public class XposedCompat { ...@@ -61,18 +61,9 @@ public class XposedCompat {
if (sandHookXposedClassLoader != null) { if (sandHookXposedClassLoader != null) {
return sandHookXposedClassLoader; return sandHookXposedClassLoader;
} else { } else {
ClassLoader xposedClassLoader = getXposedClassLoader(sandBoxHostClassLoader); sandHookXposedClassLoader = new ComposeClassLoader(sandBoxHostClassLoader, appOriginClassLoader);
sandHookXposedClassLoader = new ComposeClassLoader(xposedClassLoader, appOriginClassLoader);
return sandHookXposedClassLoader; return sandHookXposedClassLoader;
} }
} }
private static XposedClassLoader xposedClassLoader;
public static synchronized ClassLoader getXposedClassLoader(ClassLoader hostClassLoader) {
if (xposedClassLoader == null) {
xposedClassLoader = new XposedClassLoader(hostClassLoader);
}
return xposedClassLoader;
}
} }
...@@ -60,7 +60,7 @@ public final class DynamicBridge { ...@@ -60,7 +60,7 @@ public final class DynamicBridge {
} }
} }
dexMaker.start(hookMethod, additionalHookInfo, dexMaker.start(hookMethod, additionalHookInfo,
hookMethod.getDeclaringClass().getClassLoader(), dexDir == null ? null : dexDir.getAbsolutePath()); XposedCompat.classLoader, dexDir == null ? null : dexDir.getAbsolutePath());
hookedInfo.put(hookMethod, dexMaker.getCallBackupMethod()); hookedInfo.put(hookMethod, dexMaker.getCallBackupMethod());
} catch (Exception e) { } catch (Exception e) {
DexLog.e("error occur when generating dex. dexDir=" + dexDir, e); DexLog.e("error occur when generating dex. dexDir=" + dexDir, e);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment