嵌套中的 Xposed Hook 构造函数 Class

Xposed Hook Constructor in Nested Class

我正在尝试使用 Xposed 挂钩嵌套 class 的构造函数,但我得到了嵌套 class (SettingsAdapter) 的 ClassNotFoundException。不过嵌套的class中还有一个方法hook起来没有问题。我在调用构造函数时有什么问题吗?

这是构造函数调用:

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() {

提前致谢!

内部classes有一个隐含的参数,它持有超级实例。在您的情况下,这将是对 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 的调用似乎包含构造函数的名称。这不是预期的参数!构造函数名称始终是 class 名称,xposed 不希望您传递它。