使用 Xposed newInstance 某个 Class 的时候,发现该类没有默认的构造函数。 直接使用
Class cls2 = XposedHelpers.findClass("com.xx.xx", lpparam.classLoader); Object object = cls.newInstance()
出现错误如下:
java.lang.InstantiationException: java.lang.Class<com.xx.xx> has no zero argument constructor at java.lang.Class.newInstance(Native Method) at com.huruwo.xposed.HookTestLoadPackage.callDyUserInfo(HookTestLoadPackage.java:158) at com.huruwo.xposed.HookTestLoadPackage.access$300(HookTestLoadPackage.java:36) at com.huruwo.xposed.HookTestLoadPackage$1.onReceive(HookTestLoadPackage.java:62) at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1128) 我们自己写 反射需要无参构造函数,但是这是别人的程序。如何直接newInstance出这个类呢。
1.我自己的思路就是去 hook 哪个方法使用了 new Class,从那个地方得到这个类。但是太绕了,想知道更简单的方案。
