XposeHelpers提供了一些辅助方法,我们可以使用findAndHookXXX:查找并Hook方法与构造方法。而且只能Hook方法与构造方法,不能Hook接口和抽象方法。如果直接拦截抽象方法,会出现下列错误:
1、直接使用findAndHookMethod拦截抽象方法
//unregisterBiz方法为LongLinkSyncService的抽象方法
XposedHelpers.findAndHookMethod("com.alipay.mobile.rome.longlinkservice.LongLinkSyncService",
clzLd, "unregisterBiz", String.class, new XC_MethodHook()
{
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable
{
super.beforeHookedMethod(param);
}
});
public abstract class LongLinkSyncService
{
public abstract void unregisterBiz(String arg1);
}
Xposed会抛出如下错误:
E/Xposed: java.lang.IllegalArgumentException: Cannot hook abstract methods: public abstract void com.alipay.mobile.rome.longlinkservice.LongLinkSyncService.unregisterBiz(java.lang.String)