Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 嵌套类中的Xposed钩子构造函数_Java_Android_Constructor_Inner Classes_Xposed - Fatal编程技术网

Java 嵌套类中的Xposed钩子构造函数

Java 嵌套类中的Xposed钩子构造函数,java,android,constructor,inner-classes,xposed,Java,Android,Constructor,Inner Classes,Xposed,我试图使用Xposed钩住嵌套类的构造函数,但是我得到了嵌套类的ClassNotFoundException(SettingsAdapter)。但是,嵌套类中还有另一个方法,它可以很容易地挂接它。我的构造函数调用有什么问题吗 这是构造函数调用: findAndHookConstructor("com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings$SettingsAdapter", lpparam.classLoader, "Set

我试图使用Xposed钩住嵌套类的构造函数,但是我得到了嵌套类的ClassNotFoundException(SettingsAdapter)。但是,嵌套类中还有另一个方法,它可以很容易地挂接它。我的构造函数调用有什么问题吗

这是构造函数调用:

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

提前谢谢

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

你可以试试

findAndHookConstructor("com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings$SettingsAdapter", lpparam.classLoader, "com.angrydoughnuts.android.alarmclock.ActivityAlarmSettings", "android.content.Context", "java.util.List", new XC_MethodHook() {
或者只使用
hookallconstructor


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

嵌套类是静态的吗?另外:请格式化问题中的代码部分。否,嵌套的类声明是
private final class SettingsAdapter extensed ArrayAdapter{
@F43nd1r很抱歉再次挖掘这个问题,但是如果嵌套类是静态的,会发生什么呢?我现在使用不同的钩子遇到这个问题。钩住静态嵌套类与普通类没有区别(除了名称)@F43nd1r如果在这种情况下setingsadapter是静态的,会有什么不同?删除构造函数名称并添加超级实例非常有效。非常感谢!