字节表示中的Java类重命名

时间:2016-02-20 16:32:05

标签: java class rename bytecode instrumentation

给出 .class 文件的byte[]数组:是否可以重命名字节码内给定类的所有类引用? (例如,来自 test.class - > test_new_version.class ,包括所有构造函数或任何其他字节码引用)。如果是这样,那么实现这个目标的好库是什么?

1 个答案:

答案 0 :(得分:0)

使用ASM库完全可以实现。此库的常见问题解答甚至提供了example for how to rename a class in its tutorial

实际上,您需要使用库实用程序附带的RemappingClassAdapter。要生成合法的字节代码,重命名的类必须与替换的类完全二进制兼容。