1

是否可以在运行时通过代理或生成代码来更改已经使用Dexmaker加载的类的方法的行为?

更新

只是一句话:我想从我自己的应用程序中添加一个方法/修改现有的方法,而不是从 android 框架。

4

1 回答 1

1

不,这是不可能的。

您可以创建一个扩展原始类的新类,或者甚至可以制作该类的副本,使用新名称和经过调整的实现。但是你不能替换现有的类。

您最好的选择可能是将您可能想要修改的代码提取到一个单独的类中,然后将该类的一个实例传递给任何使用它的对象。然后,如果您需要创建一个新的实现,您可以将其子类化并传入子类。

于 2012-07-06T22:12:54.617 回答