0

我正在尝试使用 Xposed 挂钩嵌套类的构造函数,但我得到了嵌套类 (SettingsAdapter) 的 ClassNotFoundException。但是,嵌套类中还有另一种方法可以轻松挂钩。我对构造函数调用有什么问题吗?

这是构造函数调用:

findAndHookConstructor("com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings$SettingsAdapter", lpparam.classLoader, "SettingsAdapter", "android.content.Context", "java.util.List", new XC_MethodHook() {

这是另一个工作方法调用:

findAndHookMethod("com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings$SettingsAdapter", lpparam.classLoader, "getView", "int", "android.view.View", "android.view.ViewGroup", new XC_MethodHook() {

提前致谢!

4

1 回答 1

0

内部类有一个隐式参数,它包含超级实例。在您的情况下,这将是对ActivityAlarmSettings.

你可以尝试

findAndHookConstructor("com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings$SettingsAdapter", lpparam.classLoader, "com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings", "android.content.Context", "java.util.List", new XC_MethodHook() {

或者只是使用hookAllConstructors

顺便说一句:您对 findAndHookConstructor 的调用似乎包括构造函数的名称。这不是预期的参数!构造函数名称始终是类名称,xposed 不希望您传递它。

于 2016-03-20T17:41:48.020 回答