Xposed findClass() 返回 java.lang.Class

Xposed findClass() returning java.lang.Class

我试图在 OnePlus phones 的 Always-On Display 代码中挂钩一个方法,但是当我使用 XposedHelpers.findClass() 时,它最终返回 java.lang.Class,并且因此 returns 一个 noSuchMethodError。

调用代码:

findAndHookMethod("com.oneplus.aod.OpAodThreeKeyStatusView", lpparam.classLoader, "onThreeKeyChanged", "int", new XC_MethodHook() {
  @Override
  protected void afterHookedMethod(MethodHookParam param) throws Throwable {
  XposedHelpers.callMethod((XposedHelpers.findClass("com.oneplus.aod.OpAodDisplayViewManager", lpparam.classLoader)), "startDozing");
  }
});

我正在尝试调用我知道存在的“com.oneplus.aod.OpAodDisplayViewManager”,因为我从我自己的 phone 中提取了 APK。但是,returns java.lang.Class 然后 returns 方法“startDozing”不存在。

由于 XposedHelpers.findClass() returns java.lang.Class,解决方案是像这样实例化一个新对象:

Object displayManager = "com.oneplus.aod.OpAodDisplayViewManager"

然后使用该对象而不是 findClass() 函数调用方法