Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix methodinfo with different classloader #61

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Fix methodinfo with different classloader #61

wants to merge 2 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Aug 3, 2020

Some AdditionalHookInfo instance may create by ProxyClassLoader instead of class that already loaded with classloader that same as XposedBridge's classloader.
Invert hookMethod.getDeclaringClass().getClassLoader() and DynamicBridge.class.getClassLoader() may fix.
This problem may lead for crash (also bootloop) with EdXposed+MIUI12 device or make module lose efficacy with SandVXposed+MIUI12 device.
修复了类加载器引起的EdXposed当中小米设备无限重启或者模块失效的问题。
XposedHelpers.setStaticObjectField(mHookClass, FIELD_NAME_HOOK_INFO, mHookInfo);
报错修复以及部分安卓10+设备的错误修复。
有的手机应用PathClassLoader就是能加载出来Xposed类,或者因为某些玄学原因(应用加固改了环境等等)XposedBridge的类跟DexMaker的类加载器不同,会出现一些有趣的问题。

梁丽欣 added 2 commits August 3, 2020 23:55
Add setChild option, you can only create classloader with one argument.
Loader can always load class dynamically.
Some XiaoMi device with MIUI12 user interface may get classloader reuse and lead crash.
In sandvxposed this problem may lead module lose efficacy or crash when run in code of hook.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants