Fix make class inheritable (#1777)

This commit is contained in:
LoveSy 2022-03-21 02:29:25 +08:00 committed by GitHub
parent 416167a226
commit ac704e5704
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 8 deletions

View File

@ -115,8 +115,8 @@ public final class XposedBridge {
} catch (Resources.NotFoundException nfe) {
XposedBridge.log(nfe);
}
ResourcesHook.makeInheritable(resClass, resClass.getDeclaredConstructors());
ResourcesHook.makeInheritable(taClass, taClass.getDeclaredConstructors());
ResourcesHook.makeInheritable(resClass);
ResourcesHook.makeInheritable(taClass);
ClassLoader myCL = XposedBridge.class.getClassLoader();
dummyClassLoader = ResourcesHook.buildDummyClassLoader(myCL.getParent(), resClass.getName(), taClass.getName());
dummyClassLoader.loadClass("xposed.dummy.XResourcesSuperClass");

View File

@ -29,7 +29,7 @@ public class ResourcesHook {
public static native boolean initXResourcesNative();
public static native boolean makeInheritable(Class<?> clazz, Constructor<?>[] constructors);
public static native boolean makeInheritable(Class<?> clazz);
public static native ClassLoader buildDummyClassLoader(ClassLoader parent, String resourceSuperClass, String typedArraySuperClass);

View File

@ -98,8 +98,7 @@ namespace lspd {
}
// @ApiSensitive(Level.MIDDLE)
LSP_DEF_NATIVE_METHOD(jboolean, ResourcesHook, makeInheritable, jclass target_class,
jobjectArray constructors) {
LSP_DEF_NATIVE_METHOD(jboolean, ResourcesHook, makeInheritable, jclass target_class) {
if (lsplant::MakeClassInheritable(env, target_class)) {
return JNI_TRUE;
}
@ -203,8 +202,7 @@ namespace lspd {
static JNINativeMethod gMethods[] = {
LSP_NATIVE_METHOD(ResourcesHook, initXResourcesNative, "()Z"),
LSP_NATIVE_METHOD(ResourcesHook, makeInheritable,
"(Ljava/lang/Class;[Ljava/lang/reflect/Constructor;)Z"),
LSP_NATIVE_METHOD(ResourcesHook, makeInheritable,"(Ljava/lang/Class;)Z"),
LSP_NATIVE_METHOD(ResourcesHook, buildDummyClassLoader,
"(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;"),
LSP_NATIVE_METHOD(ResourcesHook, rewriteXmlReferencesNative,

2
external/lsplant vendored

@ -1 +1 @@
Subproject commit 2bd70518410ccd6a25adc876a3619d0b23f92e5a
Subproject commit 050561ac9ae5e900c649896a1d3ddc6d2b1188de