java - Xposed findClass() 返回 java.lang.Class
问题描述
我试图在 OnePlus 手机的 Always-On Display 代码中挂钩一个方法,但是当我使用 XposedHelpers.findClass() 时,它最终返回 java.lang.Class,因此返回 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”,因为我从自己的手机中提取了 APK。但是,它返回 java.lang.Class,然后返回方法“startDozing”不存在。
解决方案
由于 XposedHelpers.findClass() 返回 java.lang.Class,解决方案是像这样实例化一个新对象:
Object displayManager = "com.oneplus.aod.OpAodDisplayViewManager"
然后使用该对象而不是 findClass() 函数调用该方法
推荐阅读
- php - PHP:从 foreach 循环内的函数调用创建数组并将它们合并
- symfony - 组不工作的 Symfony 序列化器 - 空输出
- ansible - 安装 EPEL yum 存储库时出错
- python - 如何更改显示日期和时间的 x 轴以仅显示月份名称?
- sql-server - 如何使用选择查询在sql server中并排添加列
- c++ - 继承和编译 C++
- sql - 如果满足第一个条件,则执行它,否则 Oracle 中的第二个条件
- wagtail - Wagtail - 搜索页面所有者全名
- typescript - 为什么 tsc 不在 Heroku 中运行?
- hive - 如何在 HQL 中查询动态表和列中的数据?