2016-04-20 116 views
0

我正在使用Xposed模块来分析一个android应用程序,并且我试图挂钩一个声明为private的构造函数,但它无法找到该类。是因为构造函数是私有的还是存在另一个问题?构造函数是:private CalendarContractCompat() {}。我的钩码是:Xposed - 挂钩私人构造函数

findAndHookConstructor("com.android.calendar.CalendarContractCompat", lpparam.classLoader, new XC_MethodHook() { 

在此先感谢!

回答

0

根据xposed桥源(https://github.com/rovo89/XposedBridge/blob/art/app/src/main/java/de/robv/android/xposed/XposedHelpers.java),findAndHookConstructor调用getDeclaredConstructor并将其结果设置为可访问。这意味着该函数应该适用于任何构造函数,公共或不公开。

你可以挂钩同一类的公共方法吗?

+0

你能够钩住私人构造函数吗? Xposed是抛出了一个ClassNotFound错误,虽然我正如我为公共构造函数一样挂钩它。 – Erin

+0

不幸的是,我所分析的类只包含私有构造函数,对于主类和两个嵌套类,就方法而言。父类被声明为final - 是否会产生影响?两个嵌套类声明为静态最终。 – Erin