简书链接:java反射无法实现用一个子类实例调用父类方法又不调用子类被重写的方法的探索
文章字数:113,阅读全文大约需要1分钟
我目前是hook了onCreate()但是为了不跑出异常,super.onCreate代码想依然让他执行,似乎做不到了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
while (!superclass.getName().startsWith("android") || onCreateSuper == null) {
if (superclass.getName().startsWith("android")) {

try {
onCreateSuper = superclass.getDeclaredMethod("onCreate", Bundle.class);
onCreateSuper.setAccessible(true);
break;
} catch (NoSuchMethodException e) {

}
}
superclass = superclass.getSuperclass();

}

只要传递的是子类 obj,那么就无法调用父类的此方法…………..暂时只能想其他方法实现拦截启动了

不过想到了一个jni的调用虚方法传递指定父类实现调用任意父类, 果然牛逼,我越来越喜欢c代码了。