Android 如何调用在Xposed中作为参数传递的自定义对象的方法?

Android 如何调用在Xposed中作为参数传递的自定义对象的方法?,android,xposed,Android,Xposed,在Xposed中,我试图调用AppCustomClass 对象作为钩子方法中的参数传递 protected void myMethod(XC_LoadPackage.LoadPackageParam loadPackageParam) { final Class<?> appCustomClass = XposedHelpers.findClass("com.app.customClass", loadPackageParam.classLoader); findA

在Xposed中,我试图调用
AppCustomClass
对象作为钩子方法中的参数传递

protected void myMethod(XC_LoadPackage.LoadPackageParam loadPackageParam) {
    final Class<?> appCustomClass = XposedHelpers.findClass("com.app.customClass", loadPackageParam.classLoader);

    findAndHookMethod("com.app.aClass", loadPackageParam.classLoader, "aMethod", appCustomClass, new XC_MethodHook() {
        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
          //How to call param.args[0].getResult()
      }
}
protectedvoid myMethod(XC_LoadPackage.LoadPackageParam LoadPackageParam){
最终类appCustomClass=XposedHelpers.findClass(“com.app.customClass”,loadPackageParam.classLoader);
findAndHookMethod(“com.app.aClass”、loadPackageParam.classLoader、“aMethod”、appCustomClass、新的XC_MethodHook(){
protected void beforeHookedMethod(MethodHookParam参数)抛出可丢弃的{
//如何调用param.args[0].getResult()
}
}

您可以使用XposedHelpers.callMethod 它有两种变体

callMethod(Object obj, String methodName, Class[]<?> parameterTypes, Object... args)
所以你可以

XposedHelpers.callMethod(param.args[0],"getResult");
如果需要参数,请执行以下操作:

XposedHelpers.callMethod(param.args[0],"getResult",arg1,arg2,arg3);
注意:该方法由findMethodBestMatch解析。此(“callMethod”)方法引发的异常是XposedHelpers.InvocationTargetError,它给出了被调用方法引发的异常(如果有)

进一步阅读:

XposedHelpers.callMethod(param.args[0],"getResult",arg1,arg2,arg3);